我正在使用Backbone.js,有时views events无法正确绑定。
我可以在jQuery中用$(viewselector).data()
检查事件绑定情况。大多数时候都有活动,有时候没有!
是否有任何我应该注意的事情会导致这种情况?
答案 0 :(得分:16)
初始化视图时,会将事件委托给this.el。所以你需要:
对于最后一项,如果必须这样做,您可以再次调用delegateEvents以在视图上重新委派事件。
答案 1 :(得分:12)
我在这些场景中的方法是在每个具有事件的视图的渲染中添加delegateEvents()
,如下所示:
$(this.el).empty();
$(this.el).html(this.template({}));
this.delegateEvents(); // this will bind all events ONCE AGAIN
这非常适合动态特别创建的视图,即每次点击左右声明为新的视图......