[英]Re-rendering the view without reloading/refreshing the AngularJS Application
[英]Backbonejs, changing events on View upon a (resize) event call without reloading or re-rendering page
我想在调用事件(调整大小)时更改/修改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
}
}
先感谢您!
如果您查看ribs.js源代码 ,它具有两个功能:
this.events
() -将this.events
或传递的事件重新绑定到其处理程序 您可以使用以下两种之一:
onResize: function() {
this.events.add({"click .button": "onClickButton"});
this.delegateEvents();
}
要么
onResize: function() {
this.delegate("click", ".button", onClickButton);
// Note: this will not update this.events map and you might need to undelegate to remove
}
但是,更干净的方法是始终将此事件保留为原始事件映射的一部分,并保留在事件处理程序函数内部,您可以决定是执行还是跳过。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.