javascript - 将 enter keydown 视为跨多个模式按下“下一步”按钮
问题描述
我有四个模式,每个模式都是填写和提交表单的一个步骤。每个模态都有一个“下一步”按钮,用于关闭当前打开的模态并打开进程中的下一个。我试图让回车键充当按下“下一步”按钮,以及最后一步/模式上的“提交”按钮。
这是我当前的单个模态代码(所有模态看起来都一样)
$("#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;
解决方案
推荐阅读
- ios - UIButton addTarget 在 UITableViewCell 类中不起作用
- python - 无法让套接字连接
- c - 使用 spatch 从结构实例化中删除字段
- wordpress - 尝试通过子主题覆盖 Woocommerce 模板文件
- cypress - 运行功能文件时出错:无法遍历依赖关系图
- android - 如何通过 Kotlin 中的 gson 访问嵌套 JSON 中的值?
- powershell - 在 Oneliner 中的 ConvertFrom-StringData 之后删除重复项
- django - 如何在没有完全关闭的情况下在 Django 服务器中执行实时应用程序更新?
- php - 我正在尝试将文件上传到正在开发的网站的数据库,但出现错误
- react-native - React Navigation 5 的问题:底部选项卡导航器未正确渲染,显示带阴影的小框