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