0
Im的模擬問題與this SO question一樣。我有一個與overflow: scroll
與可滴入裏面的div。如果一個可拖動的區域落在div下面,則可觸發區域仍然會觸發。該問題的解決方案確實可以防止這種情況發生。不過,我還有另一個div,在我的第一個div下面有droppables。這個解決方案也阻止我放棄第二次投資。在禁用後啓用droppble
所以我不得不稍微修改一下,而不是把檢查放在drop事件上,我把它放在droppable上的over事件上。如果可以隱藏,我禁用它。這使得第二個droppable工作,但林無法重新啓用droppable供將來使用。我試圖使用droppable事件,但我想它也會被禁用,當我禁用droppable時,因爲它沒有觸發。如何在禁用後啓用droppable?還是有更好的方法來做到這一點?
$('.droppable').droppable({
over: function(event, ui) {
var myOverflowObj = $(this).closest(".module, #process-window");
if (myOverflowObj.length) {
var cTop = myOverflowObj.position().top + parseInt(myOverflowObj.css("margin-top"));
var cBtm = myOverflowObj.position().top + parseInt(myOverflowObj.css("margin-top")) + myOverflowObj.height();
var dTop = $(this).position().top + parseInt($(this).css("margin-top"));
var dBtm = $(this).position().top + parseInt($(this).css("margin-top")) + $(this).height();
if ((dBtm > cTop && dTop < cBtm) == false) {
$(this).droppable("option", "disabled", true);
}
}
},
out: function(event, ui) {
$(this).droppable("option", "disabled", false);
}
});