什么时候 `getTargetRanges()` return 多于一个范围?

When does `getTargetRanges()` return more than one range?

当使用 InputEvent 类型的 beforeinput 时,您可以查询 getTargetRanges() 其中 return 将受输入事件影响的静态范围数组。

getTargetRanges() return 比一个范围多 的示例场景是什么?还是return一个数组'just in case'以后会有这样的事件?询问的原因是我想正确测试依赖于 getTargetRanges().

的 return 值的代码

MDN:https://developer.mozilla.org/en-US/docs/Web/API/InputEvent/getTargetRanges
规格:https://w3c.github.io/input-events/#overview


游乐场:

document.querySelector('div').addEventListener('beforeinput', (event) => {
  console.log(event.inputType, event.getTargetRanges().length);
  if (event.getTargetRanges().length > 1) {
    alert('how?');
  }
})
<div contenteditable>
  <p>Hello world</p>
  <p>This is a tyypo</p>
</div>

多选是一个例子。例如。在 Firefox 中,双击一个词,按住 Ctrl/Command,双击另一个词,退格键。