javascript - 如何使用 javascript 强制 "enter key"充当 "tab key"?

标签 javascript keyevent onkeydown

我正在处理一个充满要填写的表单的网站,我需要在按下退出按钮时将焦点移动到下一个输入控件,就像按“tab”一样。 我找到了当 keypressed 为 13 时移动焦点的代码,但这需要获取要关注的元素的 ID

<input id="Text1" type="text" onkeydown="return noNumbers(event)" />
<input id="Text2" type="text" />

<script type="text/javascript">

    function noNumbers(e) {

        keynum = e.which;

        if (keynum == 13)
            document.getElementById("Text2").focus();

    }
</script>

我需要一个通用函数,当按键代码为 13“that is enter”时触发按 9“that is tab”的默认事件,当然是在 Javascript 中

最佳答案

这将处理多个输入字段。

这是 jQuery 版本: http://jsfiddle.net/TnEB5/3/

$('input').keypress(function(e) {
    if (e.which == 13) {
        $(this).next('input').focus();
        e.preventDefault();
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="Text1" type="text"  />
<input id="Text2" type="text" />
<input id="Text3" type="text" />

这是纯javascript版本: http://jsfiddle.net/TnEB5/5/ (您可能希望以不同的方式获得 sibling )

function tab(e) {
    if (e.which == 13) {
        e.target.nextSibling.nextSibling.focus();
        e.preventDefault();
    }
}
var inputs = document.getElementsByTagName('input');
for (var x = 0; x < inputs.length; x++)
{
    var input = inputs[x];
    input.onkeypress = tab;
}
<input id="Text1" type="text"  />
<input id="Text2" type="text" />
<input id="Text3" type="text" />

关于javascript - 如何使用 javascript 强制 "enter key"充当 "tab key"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10537558/

相关文章:

javascript - 如何在node js中的readline.on函数下使用await函数

javascript - 未捕获的类型错误 : <function> is not a function

java - JButton 按键 - 没有任何反应

javascript - document.createEvent 应该如何处理关键事件?

android - fragment Activity 捕获 onKeyDown 并在 fragment 中使用

javascript - 按钮 Onclick 函数在加载时执行

javascript - 使用 Laravel 5.6 进行 react 和引导

javascript - 如何使用 keyup 和 down true false

javascript - 在垂直移动的同时水平移动div

javascript - 将用户输入从 azerty 键盘键自动转换为 javascript 中的阿拉伯字符