[英]how to detect an F5 refresh keypress event in jquery?
我注意到 jquery 有一個按鍵功能。 但是好像只能檢測數字和字符的按鍵事件。 它無法檢測 F5 按鍵事件。 最讓我吃驚的是網上大家都說F5的keyCode是116,但是我用jquery的keypress函數時,只顯示字符t的keyCode是116(好像116是小寫的ascii碼噸)? 有人可以告訴我關於這個以及如何在 javascript 或 jquery 中檢測 F5 事件的任何想法。 非常感謝。
我不知道你在代碼中做錯了什么,但 jQuery 確實說F5
是116
而t
是84
:
一種可能的錯誤是keypress
會有不同的keycode
,這就是為什么keydown
更受歡迎的原因。
| T | A | F5
keydown | 86 | 65 | 116
keypress| 116 | 97 | -
同樣按F5
不會觸發keypress
因為重新加載部分發生在keypress
之前。
按鍵事件不接受功能鍵(F1-F12)。 您可以嘗試使用 keydown 事件。
這段代碼對我有用
我在 chrome 和 firefox 中測試成功
<script>
document.onkeydown = capturekey;
document.onkeypress = capturekey;
document.onkeyup = capturekey;
function capturekey(e) {
e = e || window.event;
//debugger
if (e.code == 'F5') {
if (confirm('do u wanna to refresh??')) {
//allow to refresh
}
else {
//avoid from refresh
e.preventDefault()
e.stopPropagation()
}
}
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.