30

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

我发现两者在点击事件中几乎相等。

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

我不使用拖动功能,我只想知道为什么。它是 html 5 中的新功能,jquery 还在后面吗?还是 jquery 团队不想支持它??或其他原因

4

2 回答 2

69

在回调函数中,您将获得一个原生事件的 jQuery 包装器。使用originalEvent传递参数的属性:

$('...').on('dragstart', function (event) {
    event.originalEvent.dataTransfer.setData('...', '...');
});

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

于 2012-12-19T10:27:06.677 回答
2

jQuery 创建它自己的事件对象,它还没有 dataTransfer 属性。这会将 dataTransfer 添加到事件对象。

$.event.props.push('dataTransfer');

于 2013-04-22T18:28:14.743 回答