1

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

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

可悲的是,我设法创建了一个无限循环,我尝试使用 jQuery 函数 'one' 来尝试停止循环,并且还尝试在第一次调用后手动删除卸载甚至绑定。仍然没有运气。我做了一个 JsFiddle 但决定不链接它,因为它会使你的浏览器崩溃,所以这里是代码。

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

任何人都可以提供任何建议或更好的解决方案吗?

4

1 回答 1

1

我在另一个问题中找到了我想要的东西 - Add jQuery function to specific elements

本质上,我可以使用 jQuery 'bind' 和 'trigger' 将自定义事件添加到 DOM 元素并稍后调用它。

例子:

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

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

    $(window).unload(function() { $('#myDiv').trigger('myUnloadFunction'); });
于 2012-07-03T16:08:45.317 回答