Javascript 将卸载事件添加到div

Javascript 将卸载事件添加到div,javascript,jquery,Javascript,Jquery,我试图将事件添加到页面卸载时触发的元素中。我想将事件附加到元素,因为我需要访问私有函数 我决定尝试向元素添加卸载事件,然后在window.unload事件期间调用此函数,因为该元素通常不会传递卸载事件 不幸的是,我成功地创建了一个无限循环,我尝试使用jQuery函数“one”来停止循环,并且还尝试在第一次调用后手动删除卸载绑定。还是不走运。我制作了一个JSFIDLE,但决定不链接它,因为它会使您的浏览器崩溃,下面是代码 <div id="myDiv"></div> $('

我试图将事件添加到页面卸载时触发的元素中。我想将事件附加到元素,因为我需要访问私有函数

我决定尝试向元素添加卸载事件,然后在window.unload事件期间调用此函数,因为该元素通常不会传递卸载事件

不幸的是,我成功地创建了一个无限循环,我尝试使用jQuery函数“one”来停止循环,并且还尝试在第一次调用后手动删除卸载绑定。还是不走运。我制作了一个JSFIDLE,但决定不链接它,因为它会使您的浏览器崩溃,下面是代码

<div id="myDiv"></div>
$('#myDiv').one('unload', function() { alert('Infinite loop incomming. Sorry :( '); });
$(window).unload(function() { $('#myDiv').unload(); });

$('#myDiv').one('unload',function(){alert('incomming.Sorry:');});
$(窗口).unload(函数(){$('#myDiv').unload();});

有人能提供任何建议或更好的解决方案吗?

我在另一个问题中找到了我想要的-

基本上,我可以使用jQuery的“bind”和“trigger”向DOM元素添加自定义事件,并在以后调用它

例如:

 <div id="myDiv"></div>

    $('#myDiv').bind('myUnloadFunction', function() { alert('No more loop :D'); });

    $(window).unload(function() { $('#myDiv').trigger('myUnloadFunction'); });

$('#myDiv').bind('myUnloadFunction',function(){alert('No more loop:D');});
$(窗口).unload(函数(){$('#myDiv').trigger('myunload函数');});

我在另一个问题中找到了我想要的东西-

基本上,我可以使用jQuery的“bind”和“trigger”向DOM元素添加自定义事件,并在以后调用它

例如:

 <div id="myDiv"></div>

    $('#myDiv').bind('myUnloadFunction', function() { alert('No more loop :D'); });

    $(window).unload(function() { $('#myDiv').trigger('myUnloadFunction'); });

$('#myDiv').bind('myUnloadFunction',function(){alert('No more loop:D');});
$(窗口).unload(函数(){$('#myDiv').trigger('myunload函数');});

您使用的浏览器和操作系统是什么?我无法用您提供的代码重新创建无限循环。您调用的警报只是中断卸载事件。我想将事件附加到元素,因为我需要访问私有函数。什么?我想我用错误的方法实现了这一点。实际上,我试图将JqGrid上的设置保存为在本例中-。我想在窗口卸载时调用保存函数“saveColumnState”,但我不知道如何访问它。您使用的浏览器和操作系统是什么?我无法使用您提供的代码重新创建无限循环。您调用的警报只会中断卸载事件我想在需要时将事件附加到元素访问私有函数。什么?我想我是用错误的方法来实现的。本质上,我试图在JqGrid上保存设置,如本例所示-。我想在窗口卸载时调用保存函数“saveColumnState”,但我不知道如何访问它。