如何使用填充属性dataTransfer创建事件?

Ale*_*xey 5 javascript events internet-explorer simulate

我有javascript代码的本地html文件.

我应该通过测试来拖放.

它只使用IE浏览器.

在javascript代码事件中捕获"drop"并分析dataTransfer(e.dataTransfer.getData("Text"))的内容.

在测试I中使用下一个代码模拟事件:

event = document.createEventObject();
Run Code Online (Sandbox Code Playgroud)

这里创建了包含dataTransfer == null的事件.

写入是不可能的,因为属性是只读的.

target.fireEvent("ondrop", event);
Run Code Online (Sandbox Code Playgroud)

事件在javascript代码中触发,但dataTransfer为null.

我应该在dataTransfer中放入一些测试元素.

我该如何解决这个问题?

小智 0

您可以尝试使用 CustomEvent 接口,但我不确定它是否适用于 IE。

var event = new CustomEvent('build', { 'detail': elem.dataset.time });
Run Code Online (Sandbox Code Playgroud)

https://developer.mozilla.org/en-US/docs/Web/API/document.createEvent#Adding_custom_data_.E2.80.93_CustomEvent