【问题标题】:How to overwrite up arrow key to work like right arrow key如何覆盖向上箭头键以像向右箭头键一样工作
【发布时间】:2012-10-11 11:46:22
【问题描述】:

再次期待您的帮助。面对一个小问题可能是愚蠢的问题。我正在为我的工作创建一个小的 jQuery 插件。该插件应该是完全可定制的。除了这个任务,我几乎完成了所有的事情。

实际上,当用户单击输入元素并按下向上和向下箭头时,我需要分别增加和减少值。但是应该使用哪个箭头键是可定制的。如果用户选择“updown”,那么向上和箭头键应该可以工作。如果用户选择“leftright”,则左右箭头键应分别用于增加和减少值。在这种情况下,用户需要使用向上和向右箭头键来左右移动光标。因为现在左右箭头键被用于其他目的。

实际上我有一个解决方案是可以使用插入符号位置。但是有没有其他简单的方法可以帮助轻松完成这项工作。

PS:对不起,如果我的问题让你们感到困惑。

【问题讨论】:

  • 你能包括当前的逻辑吗?您现在如何解决向上/向下箭头键按下的问题?

标签: javascript jquery jquery-plugins jquery-events


【解决方案1】:

您可以使用一个对象来存储密钥代码.. 像这样

<select id="keys" >
    <option value="updown"> Up - Down </option>
    <option value="leftright"> Left - Right</option>
</select>


var keys = {
    updown:{
        inc:38,
        dec:40
    },
    leftright:{
        inc:37,
        dec:39
    }
}

document.onkeyup = function KeyUp(e) {
    var selected = document.getElementById("keys");
    var keyCode = (window.event) ? event.keyCode : e.keyCode;
    if(keys[selected.value].inc === keyCode){
       alert("increase.........");
    }else if(keys[selected.value].dec === keyCode){
       alert("decrease.........");
    }
}

演示:http://jsfiddle.net/2qaJf/1/

注意:请在尝试演示时清除选择元素的焦点。

【讨论】:

    【解决方案2】:

    我对这个问题感到很困惑,但我的理解是你想让向上箭头键像向右箭头键一样工作。

    $(document).keydown (function (e) {
      if(e.which == 38){
      console.log("up arrow pressed - put right arrow key function or trigger the right arrow key event here"); 
      }
    });
    

    38 = 向上箭头键事件

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-23
      相关资源
      最近更新 更多