【发布时间】:2016-01-23 03:42:46
【问题描述】:
喂,
我想为玩家添加跨浏览器兼容性的箭头键在照片中的四个数字之间导航的功能;
我写了代码,但是只能用上下方向键,左右方向键好像不行,不知道为什么;这是我的代码
<template name="range">
<div class="row">
<div class="col-xs-9 col-sm-9 col-md-9 col-lg-9">
<div class="valueSliders">
<!-- Verticle Number Selector -->
<div class="verticleNumberSelect">
<span class="firstNumber">
<span class="up"> </span>
<span class="numberValue" tabindex="1">0</span>
<span class="down"></span>
</span>
<span class="secondNumber">
<span class="up"></span>
<span class="numberValue" tabindex="1">0</span>
<span class="down"></span>
</span>
<span class="thirdNumber">
<span class="up"></span>
<span class="numberValue" tabindex="1">0</span>
<span class="down"></span>
</span>
<span class="fourthNumber">
<span class="up"></span>
<span class="numberValue" tabindex="1">0</span>
<span class="down"></span>
</span>
<input type="hidden" id="verticleNumber" />
</div>
</div>
</div>
</div>
</template>
我的js是
Template.range.events({
'keydown .numberValue':function(e){
if (e.keyCode == '38') {
counter = $(e.target).text();
if (counter < 9){
counter++;
numberValue = $(e.target).text(counter);
totalNumber();
}
} else if (e.keyCode == '40') {
counter = $(e.target).text();
if (counter > 0){
counter--;
numberValue = $(e.target).text(counter);
totalNumber();
}
} else if(e.keyCode == 39){
var li = $('.numberValue');
var liSelected;
if(liSelected){
liSelected.removeClass('selected');
next = liSelected.next();
if(next.length > 0){
liSelected = next.addClass('selected');
}else{
liSelected = li.eq(0).addClass('selected');
}
}else{
liSelected = li.eq(0).addClass('selected');
}
}else if(e.keyCode == 37){
var li = $('.numberValue');
var liSelected;
if(liSelected){
liSelected.removeClass('selected');
next = liSelected.prev();
next.focus();
if(next.length > 0){
liSelected = next.addClass('selected');
}else{
liSelected = li.last().addClass('selected');
}
}else{
liSelected = li.last().addClass('selected');
}
}
}
});
我在上面做错了吗??
知道这是一个 Meteorjs 应用程序
谢谢你的帮助
【问题讨论】:
-
只是好奇,为什么你把keyCode在某些地方用引号括起来,而在其他地方却没有?它不应该影响任何事情,但你应该保持一致。 2)你有一个在线例子吗?社区将更有可能帮助他们看到的东西;调试可以与之交互的东西,然后通读代码会更快。
-
感谢您对引号的注释,我会修复它;例如,请查看此链接link。谢谢
标签: javascript jquery meteor arrow-keys