jquery html 5 dragstart .on('dragstart',function(e){})e.dataTransfer.setData()不起作用

zsy*_*ssk 23 javascript jquery html5 drag

chrome throw err:无法调用未定义的方法'setData',我发现e不等于window.event(它没有属性dataTransfer);两者都有很大的不同

我发现在click事件中两者几乎相等.

我使用了http://code.jquery.com/jquery-latest.js.

我不使用拖动功能,我只想知道原因.它是html 5中的新功能,jquery仍然落后于它?还是jquery团队不想支持它?或其他一些原因

Joh*_*Doe 60

在回调函数中,您将获得一个基于本机事件的jQuery包装器.使用originalEvent传递参数的属性:

$('...').on('dragstart', function (event) {
    event.originalEvent.dataTransfer.setData('...', '...');
});
Run Code Online (Sandbox Code Playgroud)

PS不要忘记设置draggable="true"要拖动的元素的属性.

  • @zsytssk这样做是为了提供跨浏览器可预测的内容和行为.阅读http://api.jquery.com/category/events/event-object/ (2认同)