Не удается прочитать свойство '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');

});
Другие вопросы по тегам