我在使用 Jquery 拖放时遇到了这个问题。我有两个 div 元素堆叠在一起。底部的 div 可放置且更大。如果我在上部 div 上放置一个项目,则底部 div 处理 dropp。
仅当直接将元素拖放到其上时,如何使 div 处理拖放。
我试过stopPropagation()
在上面的 div 上使用,但是没有用。
某种简单的例子:http: //jsfiddle.net/e87wS/13/
我在使用 Jquery 拖放时遇到了这个问题。我有两个 div 元素堆叠在一起。底部的 div 可放置且更大。如果我在上部 div 上放置一个项目,则底部 div 处理 dropp。
仅当直接将元素拖放到其上时,如何使 div 处理拖放。
我试过stopPropagation()
在上面的 div 上使用,但是没有用。
某种简单的例子:http: //jsfiddle.net/e87wS/13/
编辑后的答案
使用over
andout
来禁用和启用另一个 div。greedy
意味着可放置区域将是唯一有效的区域,并且tolerance: touch
意味着只要可拖动对象接触可放置区域,它就会放在那里。
它看起来像这样:
$('#div2').droppable({
drop: function (event, ui) {
alert("droppedHere");
},
greedy: 'true',
tolerance: 'touch',
over: function (event, ui) {
$("#div1").droppable("disable")
},
out: function (event, ui) {
$("#div1").droppable("enable")
}
});
$('#div1').droppable({
drop: function(event, ui){
alert("droppedThere");
}
});
和小提琴:http: //jsfiddle.net/e87wS/15/