[英]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.