Javascript 为什么jQuery卸载事件没有执行?
我想提醒你这个消息。示例1有效,但示例2无效。在示例2中,像Javascript 为什么jQuery卸载事件没有执行?,javascript,Javascript,我想提醒你这个消息。示例1有效,但示例2无效。在示例2中,像localStorage.setItem或console.log这样的所有东西都不起作用。为什么? 示例1 $(document).on('unload', alert('Reloaded!')) 示例2 $(document).on('unload', function (){ alert('Reloaded!'); }); 在第一个示例中,实际上没有向事件侦听器传递任何回调。您正在执行警报函数,并将其结果(未定义)传递给事件
localStorage.setItem
或console.log
这样的所有东西都不起作用。为什么?
示例1
$(document).on('unload', alert('Reloaded!'))
示例2
$(document).on('unload', function (){
alert('Reloaded!');
});
在第一个示例中,实际上没有向事件侦听器传递任何回调。您正在执行
警报
函数,并将其结果(未定义
)传递给事件侦听器。第二个不起作用,因为谢天谢地,有些浏览器@blex这是件有趣的事情,因为即使没有回调,它也起作用,但示例2不起作用。@blex可能会阻止警报,但它们是否也会阻止localStorage.setItem
和console.log
?因为它们不工作,请尝试('unload',/*…*/)上的$(窗口)
()也不工作localStorage.setItem
和console.log
工作,但警报不工作。但是谢谢你的回答