Car*_*rio 5 javascript browser dom
我正在搜索有关javascript中绑定到页面事件的函数执行顺序的详细信息,例如通过EventListener.
例如,如果我将三个函数A(),B()和C()绑定到同一个事件(比如DOMContentLoaded),那么这三个函数的执行顺序是什么?基于JS代码中addEventListener调用顺序的逐个?或者他们同时执行?
此外,我可以修改此订单吗?例如,要有一个绑定到DOMContentLoaded事件侦听器的函数,要在绑定到同一事件的任何其他函数之前执行.
事件处理程序始终按其注册顺序调用.
注册后,您无法在其前面插入其他处理程序[*].
[*]除非你是如何获得所有处理程序及其EventListener对象的列表,并调用removeEventListener以删除它们,插入自己的,然后重新插入原件.在实践中,这可能是不可能的.
var listeners = [];
//add listeners in whatever order you want them executed
document.addEventListener("DOMContentLoaded", function(event) {
for (var i = 0; i < listeners.length; i++) {
listeners[i]();
}
});
Run Code Online (Sandbox Code Playgroud)