[英]How to remove event one handler from view?
In the following code: 在下面的代码中:
var AppView = Backbone.View.extend({
events:{
"click .button":"cancel"
},
cancel:function() {
console.log("do something...");
},
onSomeEvent: function() {
this.$el.undelegate('.button', 'click', this.cancel);
}
});
var view = new AppView();
I need to undelegate this.cancel
handler from elements with ' button
' classes. 我需要从带有'
button
'类的元素中取消删除this.cancel
处理程序。 Unfortunately this.$el.undelegate
in onSomeEvent method doesn't work. 不幸的是,onSomeEvent方法中的
this.$el.undelegate
不起作用。
How could I remove that event handler? 如何删除该事件处理程序?
try something like: 尝试类似:
....
onSomeEvent: function() {
this.delegateEvents(
_(this.events).omit('click .button')
);
}
update: 更新:
do you mean like: 你的意思是:
this.events[event] = "someEvent";
//call delegateEvents() on the view to re-bind events
this.delegateEvents();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.