我在这里有一个jsfiddle - http://jsfiddle.net/xVvZB/1/ - 有两个重叠的米色盒子,可以放置,一个红色的盒子放在米色的盒子上。即使我在米色dropOps中设置了“贪心”:
var beige_dropOps = {
drop : beigeDrop,
accept : '#redBox',
greedy : true
};
当redBox被放在它们上面时,我得到两个调用drop drop,每个米色盒子一个。因此看起来顶部框没有捕获掉落事件,正如我所期望的那样,greedy = true。您可以通过打开Firebug并观察在MilanDrop()中的调试器行被调用两次来看到两个中断,一次使用this = box1,一次使用this = box2。
有谁知道发生了什么事?
由于
答案 0 :(得分:2)
贪婪影响亲子关系,而不是兄弟关系。
基本上,
greedy:true
阻止事件冒泡到父元素。在你的示例小提琴中,2个元素是兄弟,所以函数被触发两次。在我的示例小提琴中,方框2是方框1的子节点,因此只有方框2触发该功能。