InputEvent.dataTransfer 总是为 null

4

我在组件中有以下元素:

<div className="document" contentEditable="true" placeholder="Write something...." ref={this.document} onBlur={this.onBlur} onInput={this.onInput} dangerouslySetInnerHTML={{__html: document.content}}></div>

以下是函数 onInput 的内容:
onInput(event) {
    event = event.nativeEvent;
    console.log(event.dataTransfer); // This is null
}

我想使用 dataTransfer 来判断某个内容是否被粘贴/拖放,而无需监听每个事件的具体情况,以便从 InputEvent 管理所有内容(因为我已经希望监听到的大多数操作都会触发 InputEvent)。
即使是 MDN 上的示例也不起作用,因为 dataTransfernull: https://developer.mozilla.org/en-US/docs/Web/API/InputEvent/dataTransfer 为什么会这样?这是一个尚未实现的标准吗?
1个回答

3
MDN的示例在Firefox中可用,但在Chrome中不可用。另一方面,在同一个MDN示例中,监听beforeinput而不是input在Chrome中有效,但在Firefox中无效。因此,使用这两个事件的组合应该可以跨越这两个浏览器。
据我所知,规范表示应在两种情况下设置属性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接