我想在调用事件(resize)时更改/修改View模块上的事件侦听器。此目的是用于调整浏览器大小、获得网站的移动的视图以及不刷新页面的功能。在调整大小时,如果检测到断点,我想添加一个事件。我可以这样做吗?
eventOptions = { "click .item" : "onExpand", "click .panel" : "onPanelExpand"};
module.exports = View.extend({
className: 'results',
events: eventOptions,
initialize: function (options) {
$(window).on('resize', _.bind(this.onResize, this));
},
....
....
onResize: function() {
// add to this.events
this.events.add({"click .button": "onClickButton"});
// refresh events without reloading page
}
}
先谢谢你!
1条答案
按热度按时间bmvo0sr51#
如果你看一下backbone.js source code,它有两个功能:
this.events
或传递的事件重新绑定到其处理程序您可以使用以下两种方法之一:
或
但是,一种更简洁的方法是始终将此事件作为原始事件Map的一部分保留在事件处理函数中,您可以决定是执行还是跳过。