[英]How to create event with filled property dataTransfer?
I have local html file with javascript code. 我有javascript代码的本地html文件。
I should cover drag & drop by tests. 我应该通过测试来拖放。
It uses only IE. 它只使用IE浏览器。
In javascript code event "drop" is caught and content of dataTransfer (e.dataTransfer.getData("Text")) is analysed. 在javascript代码事件中捕获“drop”并分析dataTransfer(e.dataTransfer.getData(“Text”))的内容。
In test I simulate event with next code: 在测试I中使用下一个代码模拟事件:
event = document.createEventObject();
Here event which contains dataTransfer == null is created. 这里创建了包含dataTransfer == null的事件。
Write is impossible, because property is read only. 写入是不可能的,因为属性是只读的。
target.fireEvent("ondrop", event);
Event is fired in javascript code, but dataTransfer is null. 事件在javascript代码中触发,但dataTransfer为null。
I should put some test element in dataTransfer. 我应该在dataTransfer中放入一些测试元素。
How can I resolve this problem? 我该如何解决这个问题?
You could try using the CustomEvent interface, I'm not sure if it works in IE though. 您可以尝试使用CustomEvent界面,但我不确定它是否适用于IE。
var event = new CustomEvent('build', { 'detail': elem.dataset.time });
https://developer.mozilla.org/en-US/docs/Web/API/document.createEvent#Adding_custom_data_.E2.80.93_CustomEvent https://developer.mozilla.org/en-US/docs/Web/API/document.createEvent#Adding_custom_data_.E2.80.93_CustomEvent
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.