使用箭头键浏览文本输入字段并返回

时间:2011-06-19 00:49:26

标签: javascript jquery

我正在尝试使用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>

2 个答案:

答案 0 :(得分:1)

if (event.keyCode == 13 || 40) {...更改为if (event.keyCode == 13 || event.keyCode == 40) { ...

答案 1 :(得分:-1)