Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置键盘快捷键以跳转到最近的输入字段_Javascript_Jquery_Input_Keyboard Shortcuts - Fatal编程技术网

Javascript 设置键盘快捷键以跳转到最近的输入字段

Javascript 设置键盘快捷键以跳转到最近的输入字段,javascript,jquery,input,keyboard-shortcuts,Javascript,Jquery,Input,Keyboard Shortcuts,是否有简单的JavaScript或jQuery脚本来导航表单字段,类似于phpMyAdmin对动态字段所做的操作。当您单击Ctrl+← 或Ctrl+↓ 它将“制表符”切换到下一个字段 这是从默认选项卡(转到下一个)和Shift+Tab(转到上一个)扩展而来的。我希望通过添加上、下、左、右、下、主和行/列,导航更加广泛。我相信它会像这样: $('input').keypress(function(){ //if correct key combination $(this)

是否有简单的JavaScript或jQuery脚本来导航表单字段,类似于phpMyAdmin对动态字段所做的操作。当您单击Ctrl+← 或Ctrl+↓ 它将“制表符”切换到下一个字段


这是从默认选项卡(转到下一个)和Shift+Tab(转到上一个)扩展而来的。我希望通过添加上、下、左、右、下、主和行/列,导航更加广泛。

我相信它会像这样:

$('input').keypress(function(){
    //if correct key combination
        $(this).next('input').focus();
});

啊,从您的评论中可以看出:“因为tab转到下一个,所以shift tab转到上一个。我想通过向上、向下、左右、结束、从行/列开始在表单字段中导航。”

如果需要输入的二维网格,可能需要使用ID:

<input id="input_1_1" />

为什么要用这个而不是tab/shift+tab?因为tab转到下一个,shift-tab转到上一个。我想通过向上、向下、向左、向右、结束、从行/列开始在表单字段中导航。您可能希望将其添加到问题中。显然,在布局html时,您需要知道顺序
$('input').keypress(function(){
    var id = $(this).attr('id');
    id.split("_");
    // if up:
        $('#input_'+id[0]+'_'+(id[1] - 1)).focus();
    // if down:
        $('#input_'+id[0]+'_'+(id[1] + 1)).focus();
    // if left:
        $('#input_'+(id[0] - 1)+'_'+id[1]).focus();
    // if right:
        $('#input_'+(id[0] + 1)+'_'+id[1]).focus();
});