簡體   English   中英

如何檢測 jquery 中的 F5 刷新按鍵事件?

[英]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 確實說F5116t84

http://jsfiddle.net/Brjb2/1

一種可能的錯誤是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM