我正在尝试使用jQuery在多个输入字段之间构建一个简单的导航机制。代码的第一部分,使用向下箭头或返回键跳过工作正常,但当我添加第二个块以通过查找向上箭头然后反转顺序向后移动时,键入第一个文本字段向右跳到第二个。有什么想法吗?
<script type="text/javascript">
$(document).ready(function(){
// get only input tags with class data-entry
textboxes = $("input.data-entry");
// now we check to see which browser is being used
if ($.browser.mozilla) {
$(textboxes).keypress (checkForAction);
} else {
$(textboxes).keydown (checkForAction);
}
});
function checkForAction (event) {
if (event.keyCode == 13 || 40) {
currentBoxNumber = textboxes.index(this);
if (textboxes[currentBoxNumber + 1] != null) {
nextBox = textboxes[currentBoxNumber + 1]
nextBox.focus();
nextBox.select();
event.preventDefault();
return false;
}
}
if (event.keyCode == 38) {
currentBoxNumber = textboxes.index(this);
if (textboxes[currentBoxNumber - 1] != null) {
prevBox = textboxes[currentBoxNumber - 1]
prevBox.focus();
prevBox.select();
event.preventDefault();
return false;
}
}
}
</script>
答案 0 :(得分:1)
将if (event.keyCode == 13 || 40) {...
更改为if (event.keyCode == 13 || event.keyCode == 40) { ...
答案 1 :(得分:-1)