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

时间:2014-08-13 10:17:10

标签: javascript scroll

我正在尝试在JS中实现无限滚动,我使用$(window).scroll()来检测滚动位置,每个东西都工作正常,我只有一个问题我希望url更改如果用户单击“主页”键,然后在用户按“结束”键时再次更改。

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

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

优素福

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

Home,PageUp,PageDown,End和其他一些键只能由 onkeydown 触发,而不是 onkeypress see this post

答案 2 :(得分:1)

它易于检测请查看以下代码:

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