简体   繁体   English

是否可以使keyCode等于keys?

[英]Is it possible to have a keyCode equal to keys?

I'm creating a more accessible version of jQuery UI slider with number keys assigned to events that move the slider to different positions. 我正在创建一个更易于访问的jQuery UI滑块版本,其中将数字键分配给将滑块移动到不同位置的事件。 I would like the user to be able to use both sets of numbers on a keyboard. 我希望用户能够在键盘上使用两组数字。

Example "49" and "97" for the number 1. 数字1的示例“ 49”和“ 97”。

Here is the code I'm using: 这是我正在使用的代码:

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

Any suggestions? 有什么建议么?

Why you don't just put both conditions in IF statement but with OR operator: 为什么不将两个条件都放在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%");
}

See a list of Java script OPERATORS and study it a little bit (JavaScript Assignment Operators are directly connected to this question): 请参阅Java脚本操作员列表并进行一些研究(JavaScript分配操作员直接与此问题相关):
http://www.w3schools.com/js/js_operators.asp http://www.w3schools.com/js/js_operators.asp

Instead of 代替

if(event.keyCode == "49")

has to be 必须

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

OR 要么

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

I would make an array mapping the keycodes like that: 我将创建一个映射键码的数组,如下所示:

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

And then, I make only ONE script to handle the keypress. 然后,我只制作一个脚本来处理按键。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM