[英]I Need a way to execute a particular function when i press the forward key or the back key in javascript
當我在 JavaScript 中按下前進鍵或后退鍵時,我需要一種執行特定功能的方法。 因此,當按下前進按鈕時它可以工作,它可以執行該功能,但它應該在不接受任何類型文本框中輸入的情況下工作。
我的意思是無論我在頁面上的哪個位置,它都應該在整個頁面上工作,但是如果我按下前進按鈕,則應該執行該功能。
我知道如何通過匹配鍵代碼在文本框中輸入來做到這一點,但不知道如何使其以其他方式工作。
如果前進和后退鍵是指箭頭鍵,這就是您可以做到的!
document.onkeydown = function(e) {
e = e || window.event;
switch(e.which || e.keyCode) {
case 37: // left
break;
case 38: // up
break;
case 39: // right
break;
case 40: // down
break;
default: return; // exit this handler for other keys
}
e.preventDefault(); // prevent the default action
});
我對我的假設非常有信心,即您指的是鍵盤上的箭頭鍵。 正如您所說,您已經有了用於聚焦文本框的工作代碼,我還假設您已經在使用onkeydown
(或類似的其中之一)。 所以解決方案是將事件偵聽器添加到document
。
像這樣例如:
document.onkeydown = function(e){
// Your existing code goes here.
}
如果要檢測箭頭鍵,則需要使用onkeydown
。
使用onkeydown
因為這適用於所有瀏覽器。 我認為onkeypress
不會與 google chrome 一起用於箭頭鍵事件。
要查找更多信息,您可以使用console.log(event.keyCode);
在您的onkeydown
函數中,將鍵碼記錄到您的瀏覽器控制台。
function MyFunc() { alert("Key up or down!"); } document.onkeydown = function() { if (event.keyCode == 38 || event.keyCode == 40) { MyFunc(); } }
如果您有任何問題,請在下方留言,我會盡快回復您。
我希望這有幫助。 快樂編碼!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.