一个关于 beforeunload 事件的问题

<!DOCTYPE html>

<html>

<head>

  <meta charset="UTF-8">

  <title>beforeupload event</title>

</head>

<body>

  <a href="https://www.baidu.com/">link to baidu</a>

  <script type="text/javascript">

    document.body.addEventListener('beforeunload', function(evt) {

      console.log('evt');

      return 'test';

    }, true);

  </script>

</body>

</html>

刷新页面,离开页面都无法触发。


浏览器版本

https://img1.mukewang.com/5c51142100011c8a08000047.jpg


document.body.onbeforeunload = function(){}

可以触发,但是为什么直接用 addEventListener 无法触发?


令人好奇的是:


// 函数注册在 window 上

document.body.onpageshow = function(){}

// 函数注册在 body 上

document.body.addEventListener('pageshow', function() {});

// 注册在 body 上的函数无法触发。

请问,这是什么问题?


LEATH
浏览 1602回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript