2017-07-12 10 views
0

以下のコードを使用して、バニラjsでのキャンセルを検出できます。jQueryでドラッグキャンセルを検出する

el.addEventListener('dragend', event => { 
    let cancelled = event.dataTransfer.dropEffect === 'none'; 
    if(cancelled) { 
    // do something when drag cancelled. 
    } 
}, false); 

が、jQueryのdataTransferプロパティを所有していないjQueryのイベントにイベントを包んだので、jQueryのバージョンにこのスニペットを変換しようとしたとき、私は失敗しました。

el.on('dragend', event => { 
    console.log(event.dataTransfer); // => undefined 
}); 

jQueryでドラッグ解除を検出するにはどうすればよいのでしょうか。
ところで、私はjQuery UIを使用していませんが、もしそれが容易になるなら試してみたいと思います。

答えて

2

あなたは.dataTransferプロパティ

$("div") 
 
.on("dragend", function(e) { 
 
    console.log(e.originalEvent.dataTransfer) 
 
})
div { 
 
    padding: 8px; 
 
    margin: 8px; 
 
    border: 1px solid blue; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> 
 
</script> 
 
<div draggable>drag</div> 
 
<div droppable>drop</div>

+0

グレートを取得するためにjQueryのイベントの.originalEventプロパティを使用することができ、 '一見originalEvent'を見つけることができませんでした。 – choasia

関連する問題