Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么jQuery卸载事件没有执行?_Javascript - Fatal编程技术网

Javascript 为什么jQuery卸载事件没有执行?

Javascript 为什么jQuery卸载事件没有执行?,javascript,Javascript,我想提醒你这个消息。示例1有效,但示例2无效。在示例2中,像localStorage.setItem或console.log这样的所有东西都不起作用。为什么? 示例1 $(document).on('unload', alert('Reloaded!')) 示例2 $(document).on('unload', function (){ alert('Reloaded!'); }); 在第一个示例中,实际上没有向事件侦听器传递任何回调。您正在执行警报函数,并将其结果(未定义)传递给事件

我想提醒你这个消息。示例1有效,但示例2无效。在示例2中,像
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
工作,但警报不工作。但是谢谢你的回答