Gun*_*ium 36 javascript events backbone.js
使用Backbone.js视图,说我想要包含以下事件:
events: {
'click a': 'link',
'click': 'openPanel'
}
Run Code Online (Sandbox Code Playgroud)
单击链接时,如何避免触发openPanel.我想要的是有一个可以触发动作的可点击框,但是这个框可以包含应该触发其他动作的元素,而不是父动作.想想例如Twitter.com,以及推文/右侧面板中的链接.
jsp*_*ner 21
JQuery preventDefault方法也是一个不错的选择.
window.LocationViewLI = Backbone.View.extend({
tagName: "li",
template: _.template('<a href="/locations/<%= id %>"><%= name %></a>'),
events: {
"click a": "handleClick"
},
handleClick: function(event) {
event.preventDefault();
console.log("LocationViewLI handleClick", this.model.escape("name") );
// debugger;
},
...
Run Code Online (Sandbox Code Playgroud)
每个事件处理程序在触发时都会传递一个事件对象.在处理程序中,您需要利用jQuery的event.stopPropagation()方法.例如:
link: function(event) {
//do some stuff here
event.stopPropagation();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26738 次 |
| 最近记录: |