簡體   English   中英

檢測是否在 JS 中按下了 Home/End 鍵

[英]Detecting if Home/End Keys is pressed in JS

我正在嘗試在 JS 中實現無限滾動,我使用 $(window).scroll() 來檢測滾動位置,一切正常,我只有一個問題,如果用戶單擊'Home' 鍵,然后如果用戶按 'End' 鍵再次更改。

因此,當單擊 Home 時,滾動位置將移至頂部,而當單擊 End 時,滾動位置將移至底部。

我的問題是,您如何檢測這些行為(按 Home/End)?

優素福

對於HOME,KeyCode為END 36為35!

  function myKeyPress(e){

        var keynum;

        if(window.event){ // IE                 
            keynum = e.keyCode;
        }else
            if(e.which){ // Netscape/Firefox/Opera                  
                keynum = e.which;
             }
        alert(String.fromCharCode(keynum));
    }

它的簡單檢測請看下面的代碼:

<input type="text" id="txtKey" onkeyup="keyPressEvent(event)" />

   function keyPressEvent(e) {


        var code = (e.keyCode ? e.keyCode : e.which);
        if (code == 35) {
            alert('end key press');
        }
        if (code == 36) {
            alert('home key press');
        }
        return false;
    }

Home,PageUp,PageDown,End和其他一些鍵只能由onkeydown觸發,而不是onkeypress 看到這篇文章

onkeydown回調中,檢查e.key === 'Home'e.key === 'End'

https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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