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有关吗?
是div.wrapper你的观点的$埃尔? 'click .wrapper'表示委托事件处理程序,这意味着它只会触发视图的$ el具有.wrapper该类的后代.
编辑
.wrapper从您的事件哈希中删除可能会为您提供您正在寻找的行为.换一种说法:
className: 'wrapper',
events: {
'click' : 'click_handler'
},
click_handler: function(event) {
console.log("click handled")
}
Run Code Online (Sandbox Code Playgroud)