I 认为事件处理程序按它们注册的顺序进行处理。 (这是否正确?)如果是这种情况,那么如果我在脚本的开头添加了一个事件处理程序,我可以绝对确定它会在随后的处理程序附加到相同事件之前触发吗?还有事件命名空间对此有什么影响?是否事件处理程序是串联的(一个在下一个之前完成)还是并行?确保jQuery事件处理程序执行顺序
我想这样做是因为我的脚本依赖于视口大小,该大小会在resize事件中发生变化,我需要不断地查找它。我不想在每个处理函数中重复调用$(window).width()
,而是希望在脚本的顶部放置一个处理程序,该处理程序将$(window).width()
保存到每个调整大小的对象属性。然后在后来的处理程序中,我可以访问该属性并确定它是最新的度量。
我知道我可以创建一个自定义事件,只要计算完成就触发,并将后续处理程序附加到自定义事件。但是,我不想这样做,因为我需要保持与我之后发布的插件的互操作性,这些插件也可能附加到resize事件。
查看http://stackoverflow.com/questions/290254/how-to-order-events-bound-with-jquery – ustun 2012-01-27 17:04:14
您是否失去了对'$(window).width()'的显着性能?如果不是,为什么要麻烦?你只会引入对全局变量状态的脆弱依赖。 – millimoose 2012-01-27 17:05:19
@Inerdial我需要调用它和其他一些计算,如20次。我认为这会有所作为。 – ryanve 2012-01-27 17:08:55