有没有办法查看所有卸载事件?

时间:2019-01-09 16:55:56

标签: jquery

简短版本:“如何查看在$(window).on("unload")中注册的所有事件?”

例如,如果我这样做:$(window).on("unload",doSomething()),我如何获得所有卸载事件的列表,包括doSomething()

第2部分:如果我向unload事件注册了多个函数,那么我将如何删除一个而不是全部删除?


较长版本::如果您不想知道...

我正在开发一个应用程序,用户可以一次创建数千条记录。

当它们位于“创建记录”页面上时,我执行客户端限制,一次推送25条记录。但是,如果他们离开页面,我想将剩余的记录推送到服务器,以便在用户执行其他操作时可以创建它们。

为此,我通过创建函数递归,允许中断:

function recurseCreate( createRemaining = 0 ){
  if(createRemaining > 0)
    $.ajax(url:url,method:'POST', data:{qty:createRemaining});
  else {
    $(window).on("unload", function(){
      recurseCreate( desiredQty - throttleQty );
    });
    $.ajax(url:url,method:'POST', data:{qty:throttleQty}).always(()=>{
      $(window).off("unload"); // remove the listener in case all the items are created
    });
}

这似乎可行,我唯一关心的是$(window).off("unload")-这只是一个更大的整体的一小部分,所以我不知道是否还有其他事件在等待卸载事件触发它们。 / p>

如何确定我是否要使用$(window).off("unload")删除其他事件? 而且,如果我要使用此功能删除多个功能,该如何做?我只会删除一个吗?

0 个答案:

没有答案