Javascript 如何设置要首先触发的事件?

Javascript 如何设置要首先触发的事件?,javascript,html,event-handling,tampermonkey,dom-events,Javascript,Html,Event Handling,Tampermonkey,Dom Events,我想通过Tampermonkey(一个可以插入用户脚本的浏览器插件)将javascript代码注入网站 我想注射: function temp() {...} window.addEventListener("beforeunload", temp); 该网站可能已经有 window.onbeforeunload = function() {...} window.addEventListener("beforeunload", otherFunction); …等等,也就是说,窗口对象已经

我想通过Tampermonkey(一个可以插入用户脚本的浏览器插件)将javascript代码注入网站

我想注射:

function temp() {...}
window.addEventListener("beforeunload", temp);
该网站可能已经有

window.onbeforeunload = function() {...}
window.addEventListener("beforeunload", otherFunction);
…等等,也就是说,窗口对象已经有了一些事件,我甚至不知道它们的函数名是什么,我的“temp”函数将最后附加到窗口对象上

但是我想在窗口关闭后首先触发临时功能


可能吗?谢谢你的帮助

添加此jquery插件:

(function ($) {
    $.fn.bindFirst = function(name, fn) {
       this.on(name, fn);
       this.each(function() {
          var handlers = $._data(this, 'events')[name.split('.')[0]];
          var handler = handlers.pop();
          handlers.splice(0, 0, handler);
       });
    };
})(jQuery);
然后使用如下所示:

window.bindFirst("beforeunload", temp);

添加此jquery插件:

(function ($) {
    $.fn.bindFirst = function(name, fn) {
       this.on(name, fn);
       this.each(function() {
          var handlers = $._data(this, 'events')[name.split('.')[0]];
          var handler = handlers.pop();
          handlers.splice(0, 0, handler);
       });
    };
})(jQuery);
然后使用如下所示:

window.bindFirst("beforeunload", temp);

谢谢…但是你可以提供纯javascript版本吗?我真的很感激,抱歉,但我认为这不是答案,因为原始网站的事件使用纯javascript,jquery无法收集它,甚至无法更改执行顺序。谢谢……但您可以提供纯javascript版本吗?我真的很感激,抱歉,但我认为这不是答案,因为原始网站的事件使用纯javascript,jquery无法收集它,甚至无法更改执行顺序