检测是否在JS中按下了Home/End键



我试图在JS中实现无限滚动,我使用$(window).scroll()来检测滚动位置,一切都很好,我只是有一个问题,我希望url改变,如果用户单击'Home'键,然后再次更改,如果用户按下'End'键。

因此,当点击Home时,滚动位置将移动到顶部,当点击End时,滚动位置将移动到底部。

我的问题是,你如何检测这些行为(按Home/End)?

约瑟夫

KeyCode = 35 for END 36 for HOME!

  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));
    }

Home, PageUp, PageDown, End和其他一些键只能由onkeydown触发,而不是onkeypress查看此帖子

很容易检测,请看下面的代码:

<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;
    }

onkeydown回调中,检查e.key === 'Home'e.key === 'End'

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

最新更新