取消绑定主干视图事件
Unbind Backbone View Events
我有下降事件哈希-
events:
'click #someButton : 'someFunction'
为了关闭视图,我尝试了
close:
$("#someButton").unbind("click")
和
`close:
$("#someButton").remove()`
但someFunction仍被多次解雇。如何从按钮解除此事件的绑定?
我也试过
$(@el).find("#someButton").unbind("click") as well
Backbone.js视图事件被委托给视图的el
(因此没有绑定到#someButton
元素的事件,而是当点击事件冒泡到el
时,它会检查事件是否来自与该选择器匹配的元素),如果要删除事件,则需要将其从el
中删除,例如
$(this.el).off('click', '#someButton');
如果您想删除所有委派的事件,只需使用视图的取消委派方法
Jack的解释和回答都很棒。不幸的是,他的代码示例对我不起作用
$(this.el).off('click', '#someButton');
我不得不使用:
this.$el.off('click', '#someButton');
这对我来说很有意义,因为事件绑定到了this.$el
对象。
为了进一步添加,我在子视图的初始化中使用了this.$el.off();
来销毁与子视图相关的所有事件。同一事件将触发X次数据刷新调用。
我看到重复的目标使用:
var $target = $(e.currentTarget);
console.log($target);
我想在回答的基础上加一条评论,但我的声誉很低。
相关文章:
- 取消绑定主干视图事件
- 更改el属性时未激发主干视图事件
- angularjs中的SyncFusion树视图事件
- 在视图被替换后,主干视图事件未激发,然后放回页面上
- 主干视图事件绑定较晚
- 主干视图事件未触发 - 不知道原因
- Aurelia:调整大小/布局更改视图事件
- 主干 - 在模型更改时取消注册视图事件
- 在单页应用程序上实现Google Analytics页面视图事件的行为很奇怪
- 单击时呈现视图事件
- 木偶的复合视图事件未触发
- 主干,触发视图事件
- 主干视图事件仅在视图呈现后触发一次
- Dropzone.js AMD内部Backbone视图事件
- 提升骨干.js视图事件
- ExtjsMVC嵌套视图事件和异步函数
- 复选框和标签的主干视图事件处理程序
- 主干-从子视图触发父视图事件
- 骨干视图事件没有触发
- 在父元素上注册视图事件