Не удается прочитать свойство 'setData' из неопределенного - JQuery UI Touch Punch
Я не уверен почему setData
а также getData
не определено всякий раз, когда я вызываю его через jQuery UI.
я делаю
$(`#selector`).draggable({
start: function(event: any) {
drag(event);
},
stop: function(event: any) {
console.log('stopped');
}
});
и в drag():
drag(event: any) {
event.originalEvent.dataTransfer.setData("text, application/x-moz-node", event.target.id);
}
originalEvent
в ссылке на это решение здесь
Тем не менее, я все еще получаю те же результаты.
Cannot read property 'setData' of undefined
Я также использую машинопись (не уверен, насколько это важно).
2 ответа
Это проблема с jQuery, и вы можете решить ее, добавив следующий код при загрузке страницы или перед использованием dataTransfer
jQuery.event.props.push('dataTransfer');
Пример:
jQuery.event.props.push('dataTransfer');
event.dataTransfer.setData("Text", event.target.id);
Это из-за оболочки jQuery. Мы должны добавить dataTransfer к объекту Event.
Примечание:
$.event.props
был удален в jQuery 3.0, поэтому вам нужно будет использовать$.event.addProp
вместо.
Пример:
$(document).ready(function(){
$.event.addProp('dataTransfer');
});