我试图在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'