gpt4 book ai didi

javascript - 将事件添加到队列头部

转载 作者:行者123 更新时间:2023-11-28 03:01:37 25 4
gpt4 key购买 nike

我已经定义了onclick事件。我想添加额外的回调函数,该函数将在已定义的回调之前调用。

  • 如何将事件添加到具体事件类型的队列头部?

最佳答案

如果您对 IE 使用 attachEvent,则无法保证事件触发的顺序。请参阅http://msdn.microsoft.com/en-us/library/ms536343(VS.85).aspx

If you attach multiple functions to the same event on the same object, the functions are called in random order, immediately after the object's event handler is called.

(我实际上已经看到事件是按相反顺序调用的,而不是随机的)。不管怎样,库通常倾向于深入使用 attachEvent,所以你会遇到同样的问题。

话虽如此,如果您可以检查节点的“点击”处理程序(例如,您的标记中的节点上设置了“onclick”属性),那么您可以将“您的” 在“他们的”之前:

var nodes = document.getElementsByTagName('*'); // collect your nodes however
for(var i=0; i < nodes.length; i++) {
var node = nodes[i];
if(!node.onclick)
continue;

// At this point we have a node with an "onclick" attr.
// Hijack onclick to do something else first.
var original = node.onclick;
node.onclick = function() {
doSomethingElse();
return original.apply(this, arguments);
}
}

参见this answer了解如何检查其他库中节点的事件(如果您正在使用一个库)。您也可以将它与这些库一起使用doSomethingElse()

关于javascript - 将事件添加到队列头部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/487069/

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