是否可以使keyCode等于键?

时间:2012-09-28 17:52:24

标签: javascript jquery jquery-ui accessibility

我正在创建一个更易于访问的jQuery UI滑块版本,其中数字键分配给将滑块移动到不同位置的事件。我希望用户能够在键盘上使用这两组数字。

  

数字1的示例“49”和“97”。

以下是我正在使用的代码:

if(event.keyCode == "49")
{
$("#slider_feedback").html(mod3["rc" + clip + "_1"]);
$("#slider_feedback").show();
$(".ui-slider-handle").css("left", "0%");
}

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

为什么不将这两个条件都放在IF语句中,而是使用OR运算符:

if(event.keyCode == 49 || event.keyCode == 97)
{
$("#slider_feedback").html(mod3["rc" + clip + "_1"]);
$("#slider_feedback").show();
$(".ui-slider-handle").css("left", "0%");
}

查看Java脚本OPERATORS列表并稍微研究一下(JavaScript Assignment Operators与此问题直接相关):
http://www.w3schools.com/js/js_operators.asp

答案 1 :(得分:0)

而不是

if(event.keyCode == "49")

必须是

if(event.keyCode == '49' || event.keyCode == '97')

OR

if(event.which== 49 || event.which== 97)

答案 2 :(得分:0)

我会像这样制作一个映射代码的数组:

var mapKeys = [
   49: 0,
   97: 0
];

然后,我只制作一个脚本来处理按键。

$(document).bind('keypress', function(e) {
   if(mapKeys[e.keyCode] != undefined){
      $(".ui-slider-handle").css("left", mapKeys[e.keyCode] + "%");
   }
});