当我在javascript中按前进键或后退键时,我需要一种方法来执行特定的功能

时间:2015-09-11 15:47:08

标签: javascript

当我在javascript中按前进键或后退键时,我需要一种方法来执行特定的功能。因此,当按下前进按钮时它可以工作,它可以执行该功能,但它应该工作而不需要在任何类型的文本框中输入。

我的意思是它应该适用于整个页面,无论我在页面上的哪个位置,但如果我按下前进按钮,该功能应该被执行。

我知道如何通过匹配键代码在文本框中输入输入但不知道如何使其在其他地方工作。

3 个答案:

答案 0 :(得分:1)

如果使用前进和后退键表示箭头键,则可以使用此方法!

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

答案 1 :(得分:0)

我对你假设你指的是键盘上的方向键感到非常自信。正如你所说,你已经有一个工作代码,当文本框聚焦时,我也假设你已经使用onkeydown(或其中一个类似的)。所以解决方案是将事件监听器添加到document

就像这样:

document.onkeydown = function(e){
    // Your existing code goes here.
}

如果要检测箭头键,则需要使用onkeydown

Here is a working example

答案 2 :(得分:0)

使用onkeydown,因为这适用于所有浏览器。我认为onkeypress不会与谷歌浏览器一起使用箭头键事件。

  • 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();
  }
}

如果您有任何疑问,请在下方发表评论,我会尽快回复您。

我希望这会有所帮助。快乐的编码!