簡體   English   中英

無法讀取未定義的屬性“ setData”-jQuery UI Touch Punch

[英]Cannot read property 'setData' of undefined - jQuery UI Touch Punch

我不確定為什么每次通過jQuery UI調用setDatagetData都未定義。

我在做

$(`#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

我也使用打字稿(不確定這樣做有多大的區別)。

這是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');

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM