jquery html 5 dragstart .on('dragstart',function(e){}) e.dataTransfer.setData() не работает
Chrome throw err: Невозможно вызвать метод 'setData' из неопределенного, я обнаружил, что e не равно window.event(он не имеет свойства dataTransfer), оба имеют очень большой разный
Я нахожу оба почти равными в событии щелчка.
Я использовал http://code.jquery.com/jquery-latest.js.
Я не использую функцию перетаскивания, я просто хочу знать, почему. это новая функция в HTML 5, JQuery еще за этим? или команда jquery не хочет поддерживать это?? или какая-то другая причина
2 ответа
В функции обратного вызова вы получаете оболочку jQuery поверх собственного события. Использовать originalEvent
свойство передаваемого аргумента:
$('...').on('dragstart', function (event) {
event.originalEvent.dataTransfer.setData('...', '...');
});
PS Не забудьте установить draggable="true"
атрибут для перетаскиваемого элемента.
jQuery создает свой собственный объект события, и у него пока нет свойства dataTransfer. Это добавляет dataTransfer к объекту события.
$.Event.props.push('DataTransfer');