我已经将一些 div 设置为“可放置”,并将其他一些 div(放置在可放置 div 内)设置为“可拖动”。
这是我的代码:
<script>
function handleDrop (event, ui) {
var myDiv = document.getElementById("messages");
var theDrop = $(this);
var theDrag = ui.draggable;
myDiv.innerHTML = myDiv.innerHTML + "<br>Dropped [" + theDrag.text() + "] with id = [" + theDrag.attr("id") + "] in [" + theDrop.attr("id") + "]";
}
$(function() {
$( ".item" ).draggable( { tolerance: "fit", revert: "invalid", revertDuration: 150 } );
$( ".column" ).droppable({ drop: handleDrop });
});
</script>
这很好用,但我的问题是如何修改 handleDrop 函数来检测可拖动元素所在的元素是否与开始拖动时所在的元素相同?换句话说,如何检测拖动是否在同一个可放置 div 内开始和结束?(我的目标是忽略此类“非事件”。)