Javascript 如何按Enter键单击按钮

Javascript 如何按Enter键单击按钮,javascript,jquery,html,Javascript,Jquery,Html,我想在按下enter键时单击以下按钮。注意:我没有与此关联的文本框。这个按钮在一个模态中,我希望模态在点击OK按钮后关闭 &时代; 错误! 请检查所有必填字段 好啊 我希望模式在按下enter键时关闭/单击OK按钮。您的主要问题是您已将keyup事件侦听器分配给该按钮,因此它仅在按钮具有焦点时才会触发。将keyup事件侦听器添加到文档本身 函数hideModal(){ log(“您究竟做了什么来隐藏模态”); } //连线按钮点击 document.getElementById(“缺少字段

我想在按下enter键时单击以下按钮。注意:我没有与此关联的文本框。这个按钮在一个模态中,我希望模态在点击OK按钮后关闭


&时代;
错误!
请检查所有必填字段

好啊

我希望模式在按下enter键时关闭/单击OK按钮。

您的主要问题是您已将keyup事件侦听器分配给该按钮,因此它仅在按钮具有焦点时才会触发。将keyup事件侦听器添加到文档本身

函数hideModal(){
log(“您究竟做了什么来隐藏模态”);
}
//连线按钮点击
document.getElementById(“缺少字段\确定\按钮”).addEventListener(“单击”,隐藏);
//为keyup连接偶数litener
文件。添加事件列表器(“键控”,功能(事件){
控制台日志(“Keyup”);
//检查模态是否可见,以及键代码
if(document.getElementById(“缺少字段”\u model”).offsetParent!==null&&event.keyCode==13){
//按程序单击按钮
document.getElementById(“缺少字段\确定\按钮”)。单击();
}
})
/********************************************************* 
JQUERY版本
//为keyup连接偶数litener
$(文档).on(“键控”,函数(事件){
//检查模态是否可见,以及键代码
如果($(“#缺少_字段_模式”)为(“:可见”)&&event.keyCode==13){
//按程序单击按钮
$(“#缺少_字段_确定_按钮”)。单击();
}
})
**********************************************************/

&时代;
错误!
请检查所有必填字段

好啊
下面是一个有趣的抽象示例,介绍如何在用户点击enter键时在按钮上触发单击事件

const btn=document.getElementById(“btn”);
btn.addEventListener(“单击”,()=>{
log(“我说不要点击我”);
})
文件。添加的文件列表器(“键控”,(e)=>{
如果(e.key==“输入”){
常量事件=新事件(“单击”);
btn.调度事件(事件);
}
})

不要单击我
关键事件通常绑定到文档。当
event.which===13
时调用BS

$(文档).on('keydown',dismissKey);
函数dismissKey(事件){
if(event.which==13){
event.preventDefault();
$('.modal').modal('hide');
}
返回false;
}

开放模态
错误!
&时代;
请检查所有必填字段

好啊
按钮上是否有钥匙?不!我是问你是否有解决办法?我不知道怎么做。这就是我发布这个问题的原因。非常感谢它的有效性!使用
$('#缺少字段_modal').modal('toggle')而不是“$”(“#缺少_字段_模式”)。模式('show');`成功了。@MAB My是唯一一个使用
.modal()
方法的人…你有点困惑…我没有困惑。。。这个来自@jonp的答案在使用时效果很好toggle@MAB
.modal()
可能会覆盖JS,反之亦然。毫无疑问,
.modal()
的想法来自我的回答,因为除了这些评论和我的回答之外,没有其他提到
.modal()
。我的回答考虑到引导程序已经加载,所以实际上要编写的代码更少。My的效率更高,并充分利用了您已经运行的脚本。@zer00ne我本可以在这里使用jQuery,但原生js足够简单(通常比框架更有效)。在这个问题的任何地方都没有提到Bootstrap,所以我没有做任何假设。问题是如何从一个关键事件中通过编程点击一个按钮,我直接解决了这个问题,你的回答实际上没有解决这个问题,只是称之为引导方法。如果有一个更复杂的方法,已经附加到按钮上,它将与我的答案一起调用,而不是与你的答案一起调用。
function missing_fields_click() {
            // Number 13 is the "Enter" key on the keyboard
            if (event.keyCode === 13) {
                // Cancel the default action, if needed
                event.preventDefault();
                // Trigger the button element with a click
                document.getElementById("missing_fields_ok_button").click();
            }
        }