簡體   English   中英

當我在 javascript 中按下前進鍵或后退鍵時,我需要一種執行特定功能的方法

[英]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 一起用於箭頭鍵事件。

  • 38 = 向上箭頭
  • 40 = 向下箭頭

要查找更多信息,您可以使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM