[英]How to use eventlisteners in functions?
在卸载页面之前,我需要询问用户的确认。 如果我在 JS 中这样做,它会起作用:
window.onbeforeunload = function () { //close confirm
return '';
}
但是当我将它放入 function 以使其更灵活时,我似乎没有注册:
function sth()
{
window.addEventListener('beforeunload', closeConfirm, false);
}
function closeConfirm()
{
return '';
}
有人可以告诉我区别吗? 在事件在普通 JS 的函数之外注册后,在 function 中删除也不起作用。 sth() 通过按下按钮来调用。 我需要在登录时启用此事件侦听器,并在注销或超时时删除,但我无法使其与 function 调用一起工作,但只是在页面加载时。
---REFRESH--- 示例: https://jsfiddle.net/6mvuet1h/1/
如果您注释掉 2-4 行,这是行不通的。
所以我正在编辑我的答案,因为我之前误解了你的问题。
在beforeundload mdn 页面上,我们可以看到一些浏览器(包括 chrome)需要设置event.returnValue
。 其他一些浏览器需要调用event.preventDefault()
。 所以你的closeConfirm
function 应该是这样的:
function closeConfirm(event)
{
event.preventDefault();
event.returnValue = '';
return '';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.