0

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

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

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

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

4

2 回答 2

2

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

<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/

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

于 2012-10-11T11:59:53.877 回答
0

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

$(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 = 向上箭头键事件

我希望这将有所帮助。

于 2012-10-11T12:07:05.037 回答