[英]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.