1

我在使用 Jquery 拖放时遇到了这个问题。我有两个 div 元素堆叠在一起。底部的 div 可放置且更大。如果我在上部 div 上放置一个项目,则底部 div 处理 dropp。

仅当直接将元素拖放到其上时,如何使 div 处理拖放。

我试过stopPropagation()在上面的 div 上使用,但是没有用。

某种简单的例子:http: //jsfiddle.net/e87wS/13/

4

1 回答 1

1

编辑后的答案

使用overandout来禁用和启用另一个 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/

于 2013-04-04T14:11:43.870 回答