Backbone事件没有捕获点击div

Alo*_*lon 1 javascript backbone.js

我有下一个HTML结构:

<div class="wrapper">
    <div class="top"></div>
    <div class="bottom></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我在Backbone View中设置了下一个事件:

className: 'wrapper',
events: { 
    'click .wrapper' : 'click_handler'
},
click_handler: function(event) {
    console.log("click handled")
}
Run Code Online (Sandbox Code Playgroud)

单击包装器时,此代码不会触发单击事件,但如果我将单击选择器更改为".top"或".bottom",则会触发单击.

我究竟做错了什么 ?它与Capture/Bubble有关吗?

psq*_*red 5

div.wrapper你的观点的$埃尔? 'click .wrapper'表示委托事件处理程序,这意味着它只会触发视图的$ el具有.wrapper该类的后代.

jQuery用于.on描述事件委托的文档.

编辑

.wrapper从您的事件哈希中删除可能会为您提供您正在寻找的行为.换一种说法:

className: 'wrapper',
events: { 
    'click' : 'click_handler'
},
click_handler: function(event) {
    console.log("click handled")
}
Run Code Online (Sandbox Code Playgroud)