输入表单输入完一个后按住enter光标自动跳到下一个表单

时间:2021-10-01 16:58:45
   $.enterfocus = function (selector, callback) { //按住enter键可以自动换到下一行的input
        var boxArray = [].slice.call(document.querySelectorAll(selector));
        for (var index in boxArray) {
            var box = boxArray[index];
            box.addEventListener('keyup', function (event) {
                if (event.keyCode == 13) {       // 点击了enter键
                    var boxIndex = boxArray.indexOf(this);
                    if (boxIndex == boxArray.length - 1) {
                        if (callback) callback();
                    } else {
                        var nextBox = boxArray[++boxIndex];
                        $.focus(nextBox);
                    }
                }
            }, false);
        }

    };


使用:

 $.enterfocus('#form1 input', function () {
                $.trigger(document.getElementById("btn_ok"), 'tap');       //trigger激发一个事件,tap,focus,select,
            });



总结:

trigger用法:

当相应的事件发生时,任何通过.on()或一个快捷方法绑定的事件处理程序将被触发。但是,它们可以用.trigger()方法手动触发。调用 .trigger() 执行处理程序和用户自然的触发该事件,他们的执行顺序时相同的

 
$('#foo').on('click', function() {
alert($(this).text());
});
$('#foo').trigger('click');激发上面的click事件

若要提交第一个表单但又不想使用 submit() 函数,请尝试如下方法:

$("form:first-child").trigger("submit")



点击回车提交

$("#div").keyup(function(event){

        if(event.keyCode==13) {  $(".button").submit();}

})