我有四个模态,每个模态都是填写和提交表单的步骤。每个模态都有一个“下一步”按钮,用于关闭当前打开的模态并在过程中打开下一个模态。我试图让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;