【问题标题】:Greedy not capturing the first event贪婪没有捕捉到第一个事件
【发布时间】:2013-08-05 21:14:22
【问题描述】:

我在这里有一个 jsfiddle - http://jsfiddle.net/xVvZB/1/ - 有两个重叠的米色框,可以放置,还有一个红色框可以放置到米色框上。即使我在米色 dropOps 中设置了“贪婪”:

var beige_dropOps = {    
    drop : beigeDrop,       
    accept : '#redBox',     
    greedy : true
};

当 redBox 放在它们上面时,我会收到两次对 drop 处理程序的调用,每个米色盒子一个。因此,正如我所期望的 greedy = true 那样,顶部框似乎没有捕获 drop 事件。您可以通过打开 Firebug 并观察 beigeDrop() 中的调试器行被调用两次来查看这两个中断,一次使用 this=box1,一次使用 this=box2。

有人知道怎么回事吗?

谢谢

【问题讨论】:

标签: jquery jquery-ui


【解决方案1】:

贪婪影响父子关系,而不是兄弟关系。

See This Fiddle For Example

基本上,

greedy:true

阻止事件冒泡到父元素。在您的示例小提琴中,这两个元素是兄弟元素,因此该函数被触发两次。在我的示例小提琴中,框 2 是框 1 的子项,因此只有框 2 触发该功能。

【讨论】:

    猜你喜欢
    • 2012-10-07
    • 2014-07-27
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多