微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html5 – 以编程方式创建拖动事件时,dataTransfer为null

我正在尝试创建一个dragEvent并使用Chrome上的此代码以编程方式触发它:

var ev = document.createEvent("MouseEvents");
ev.initEvent("dragstart");

然后以这种方式解雇它:

element.dispatchEvent(ev);

该元素具有draggable属性.

该活动已成功发送.但是在被触发的事件上 – dataTransfer对象为null.即使我尝试将其手动设置为工作的dataTransfer对象 – 它仍然保持为null.

有任何想法吗?

谢谢

解决方法

不幸的是,似乎目前没有这种以编程方式创建DataTransfer对象的方法. HTML5拖放界面的说明如下:

Although,for consistency with other event interfaces,the DragEvent interface has a constructor,it is not particularly useful. In particular,there’s no way to create a useful DataTransfer object from script,as DataTransfer objects have a processing and security model that is coordinated by the browser during drag-and-drops

请在此查看更多详情:http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-dragevent-and-datatransfer-interfaces

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。