backbone的delegateEvents问题

时间:2011-09-29 16:48:19

标签: javascript jquery backbone.js

我对骨干有这种情况:

events: {
    'click': 'test1',
    'click .modify': 'test2'
}

当我点击.modify时,同时触发test1和test2。 怎么解决?

http://jsfiddle.net/keepyourweb/VU8pE/1/

2 个答案:

答案 0 :(得分:2)

我原以为e.preventDefault()也会有用......

但是,我发现e.stopImmediatePropagation()为你做了诀窍。

我的猜测是这两个事件回调都排在了这一点,这就是为什么preventDefault无效。

感谢jsFiddle。它确实有帮助!

答案 1 :(得分:0)

第一次点击事件附加到el,因此对.modify的所有点击也会冒充test1

如果你真的想这样做,那么设置你的事件处理程序:

test1: function(e) {},

test2: function(e) {
    // this will stop "test1"
    // from being called
    e.preventDefault();
}