窗口大小调整-在哪里听它
window resize - where to listen for it?
我有一个调整油门大小的监听器:
$(window).on('resize', Foundation.utils.throttle(function(e){
}, 300));
从性能的角度来看,以下两种方式是最好的吗?
a)将其放在我的主类中,并在触发事件中。在任何需要做一些调整大小的类中,我会监听事件并做出反应。
主类:
$(window).on('resize', Foundation.utils.throttle(function(e){
$(document).trigger("my-resize-event");
}, 300));
在我的其他类需要响应时,窗口的大小调整:
$(document).on("my-resize-event", function(e){
//do stuff
});
或者,b)在我的每个类中,需要做一些关于窗口调整大小的事情,放置调整大小节流器,这将在许多类中重复此代码:
$(window).on('resize', Foundation.utils.throttle(function(e){
//do stuff
}, 300));
请注意,这不是一个基于意见的问题,我想知道在性能方面什么是最好的。
绝对有必要这样做吗?我这么问的唯一原因是:a)调整事件大小,改变页面的外观往往看起来有点笨拙的屏幕上,和b)如果你想改变的只是格式,你通常可以使用CSS类完成你想要做的事情。CSS3增加了很多功能,大多数现代浏览器都支持其中的很多功能。
无论如何,要回答你的主要问题,最简单的方法是让其他子类订阅事件,以便它可以级联到任何侦听器。
如果相反,则意味着在声明resize事件时需要传递更复杂的引用,并且还可能遇到竞态条件,即在事件侦听器初始化之前未加载类。
这真的取决于你的代码块是如何分开的,你重用你的代码很多,我会说每个块有它自己的resize事件处理程序,如果你不重用我们的代码在这个项目中,我会有一个resize处理程序和分发自定义的resize消息。这样,您可以更轻松地调整代码,而不必在x个文件中更改相同的代码。
相关文章:
- 在哪里使用名为“;冻结”;
- Ember.js-接口状态应该存储在哪里
- 在Redux中,我应该在哪里编写复杂的异步流
- 在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能
- 在哪里可以找到RXUI Javascript'时间飞逝'实例
- Redux应用程序结构-在哪里放置服务/业务逻辑
- 在哪里可以找到'项目'在plothover函数中
- Javascript-在哪里放置常量,全局或本地
- Sequelize:这些方法应该驻留在哪里
- AJAX更新面板不;t工作.请帮我找出我错在哪里.
- 在哪里存储HTML模板以在Backbone.js中使用
- ForerunnerDB将其数据库保存在哪里
- 在哪里可以找到R-to-JavaScript编译器
- 很棒的共享按钮application.coffee文件在哪里
- WinJs中的视图状态更改事件在哪里
- 如果在对象上触发了dispatchEvent,我如何才能找到如何侦听它以及在哪里调度事件
- 在哪里可以找到可用的开源三维图表
- 在哪里调整滑块速度
- 窗口大小调整-在哪里听它
- 调整圆圈的大小——虫子在哪里?