【问题标题】:Extend javascript key pressed function扩展javascript按键功能
【发布时间】:2016-01-29 07:16:52
【问题描述】:

我的网站上有一个这么小的 JavaScript,可以通过按键盘上的箭头键来控制网站。

document.onkeydown = function(evt) {
    evt = evt || window.event;
    switch (evt.keyCode) {
        case 37:
            leftArrowPressed();
            break;
        case 39:
            rightArrowPressed();
            break;
    }
};

function rightArrowPressed() {
     window.open("next-page.php","_self")
}
function leftArrowPressed() {
     window.open("pre-page.php","_self")
}

如果我按下右箭头键,javascript 会将我重定向到“next-page.php”。如果我按下左箭头键,javascript 会将我重定向到“pre-page.php”。

我想通过按 + 和 - 键或 q 和 w 键来扩展脚本。 理想情况下,当前脚本不应更改。

【问题讨论】:

标签: javascript php jquery html redirect


【解决方案1】:

document.onkeydown 内部定义evt 后,记录keyCode 值:

console.log(evt.keyCode);

您可以从那里根据需要修改您的 switch 语句。

【讨论】:

    【解决方案2】:

    你想要做的关键代码如下:

    + : 107
    
    - : 109
    
    q : 81
    
    w : 88
    

    所以使用您的代码,我们可以这样做:

    document.onkeydown = function(evt) {
            evt = evt || window.event;
            switch (evt.keyCode) {
                case 37:
                    //code here
                    break;
                case 88:
                    //code here
                    break;
                case 109:
                    leftArrowPressed();
                    break;
                case 39:
                    //code here
                    break;
                case 81:
                    //code here
                    break;
                case 107:
                    rightArrowPressed();
                    break;
            }
        };
    

    【讨论】:

      【解决方案3】:

      你可以检查一下:

      switch (evt.keyCode) {
              case 37:
                  leftArrowPressed();
                  break;
              case 39:
                  rightArrowPressed();
                  break;
      case 107: // for +
                  your script
                  break;
      case 109: // for -
                   your script
                  break;
      case 81: // for q
                  your script
                  break;
      case 87: // for w
                  your script
                  break;
          }
      

      【讨论】:

        猜你喜欢
        • 2011-04-03
        • 1970-01-01
        • 2011-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-06
        • 1970-01-01
        相关资源
        最近更新 更多