gpt4 book ai didi

javascript - 确保 jQuery 事件处理程序执行顺序

转载 作者:数据小太阳 更新时间:2023-10-29 05:27:10 25 4
gpt4 key购买 nike

认为事件处理程序是按照它们注册的顺序进行处理的。 (这是正确的吗?)如果是这种情况,那么如果我在脚本的开头附加一个事件处理程序,我是否可以绝对确定它会在附加到同一事件的后续处理程序之前触发?事件 namespace 也对此有影响吗?事件处理程序是按顺序触发(一个在下一个之前完成)还是并行触发?

我想这样做是因为我的脚本依赖于视口(viewport)大小,视口(viewport)大小随调整大小事件而变化,我需要不断寻找它。我不想在我的每个处理程序函数中重复调用 $(window).width(),而是想在我的脚本顶部放置一个处理程序来保存 $(window)。 width() 到每次调整大小的对象属性。然后在后续处理程序中,我可以访问该属性并确定它是最近的测量值。

我知道我可以创建一个在计算完成后立即触发的自定义事件,并将后续处理程序附加到自定义事件。但是,我不想这样做,因为我需要与我的插件之后的插件保持互操作性,这些插件也可能附加到调整大小事件。

最佳答案

如果您在任何其他脚本运行(即使只是一个插件)之前附加您的事件处理程序,那么您的回调将始终首先触发。

您可以通过数据对象检查事件处理程序数组:

$(window).data('events');

注意:这是一种未记录的方法,最终可能不会奏效。仅用于检查。

关于javascript - 确保 jQuery 事件处理程序执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9037105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com