将Enter keydown视为在多个模式之间按下“ Next”按钮

时间:2019-08-05 21:12:44

标签: javascript jquery html bootstrap-modal

我有四个模态,每个模态都是填写和提交表单的步骤。每个模态都有一个“下一步”按钮,用于关闭当前打开的模态并在过程中打开下一个模态。我试图让Enter键充当按下“下一步”按钮和最后一步/模式上的“提交”按钮的作用。

这是我当前的单个模态代码(所有模态看起来都一样)

$("#user-lookup-modal").on('shown.bs.modal', function () {
    $('#add_assistant_submit').prop('disabled', true);
    $(document).keypress(function (e) {
        if (e.keycode == 13 || e.which == 13) {
            $('#add_assistant_next').trigger("click");
            return true;
        }
    }) ;
});

但是,这会导致奇怪的行为,其中按Enter进入一个模态计数与按Enter进入所有以前的模态一样。我用控制台输出进行了测试。

编辑: 我尝试了这种方法,似乎很奏效,但这不是一个好的解决方案,因为它会一直监听按键操作?

$(document).keypress(function (e) {
            if ( e.keycode == 13 || e.which == 13) {
                if ($("#myModal").data('bs.modal') || {isShown: false}).isShown) {
                   //trigger button
                }
//... repeat for other modals

            }

        });
return false;

0 个答案:

没有答案