我有一个视图,其中包含相同类型的嵌套视图。因此,我的delegateEvents
选择器需要注意只选择顶层元素,而不是子视图中的元素。Backbone.js - 为什么我的delegateEvents选择器不工作?
下面的代码,我的视图的上下文中使用,成功选择我要结合元件:
var $link = this.$('> .node > .indent > a'); // success!
的delegateEvents
对象,使用相同的选择,不挂钩事件在所有:
events: {
'click > .node > .indent > a': 'toggleGrouped' // fail :(
}
请注意,我已经证实,事件确实联播与其他更简单的选择工作,所以它不是与渲染的问题。
我在做什么错?
我认为@darvelo在这里有最好的解决方案。只要确保所有的“低级别”选择器的事件监听器都调用了'event.stopPropagation();'。然后,这些事件永远不会冒泡到达您的顶级View的侦听器,并且您永远不必担心如何使您的选择器如此具体! – Lambart 2015-09-07 22:50:56
@Lambart谢谢,虽然你会注意到我在4年前问过这个问题;) – 2015-09-07 22:58:03
我知道!但差不多四年后,我碰到了和你一样的问题。这仍然是一个有效的问题,并且仍然有有效的答案......其中之一是*只有*超过2岁! :) – Lambart 2015-09-08 16:55:33