我有几个观点。 在其中一些我有类似的事件,如
events: {
'click #save': 'save'
}
当我创建并渲染新视图时,旧事件监听仍然如此古老,当我已经更改视图时,algorythm仍然有效。
据我所知,有一个stopListening()
函数,但我如何激活以前的所有视图。
因此,当我更改视图/页面时,我希望禁用所有先前的事件。
我怎么能这样做?
答案 0 :(得分:2)
ID是全球性的,每页不应超过一个。将您的活动附加到班级。
events: {
'click .save-btn': 'save'
}
另外,请确保在完成使用后处理您的观点:
var MyView = Backbone.View.extend({
events: {
'click .save-btn': 'save'
},
...
dispose: function() {
this.unbind();
this.remove();
}
};
var view = MyView();
...
view.dispose();
干杯。
答案 1 :(得分:0)
尝试使用el
。
var MyView = Backbone.View.extend({
el: '#wrapper_of_save_element',
events: {
'click #save': 'save'
},
save: function() {
...
}
});
所以你的事件只在你的#wrapper_of_save_element里面(例如一个包装div)