更新时间:2022-10-15 17:29:53
Backbone.js的观看赛事都被委托给视图的报
(所以没有必然的事件 #someButton
元素,而是当一个click事件冒泡到报
它检查事件是否从来到元素选择匹配),既然如此删除您需要从报
,例如:
$(this.el).off('点击','#someButton');
如果您要删除所有委托事件,你可以只使用视图的 undelegate 方法
I have the falling events hash -
events:
'click #someButton : 'someFunction'
To close the view I have tried
close:
$("#someButton").unbind("click")
and
`close:
$("#someButton").remove()`
But someFunction is still being fired more than once. How do I unbind this event from the button?
I've also tried
$(@el).find("#someButton").unbind("click") as well
Backbone.js view events are delegated to the view's el
(so there is no event bound to your #someButton
element but rather when a click event bubbles up to the el
it checks to see if the event came from an element matching that selector), that being the case to remove the event you need to remove it from the el
, for example
$(this.el).off('click', '#someButton');
If you want to remove all delegated events you can just use the view's undelegate method