Bootbox:使用ENTER键使默认按钮工作?

Ryn*_* C. 4 html javascript html5 bootbox

正如标题所示,我想将Enter键添加为Bootbox.js的事件处理程序.当您调用alert()弹出窗口时,可以按Enter键将其关闭,但Bootbox.js不是这种情况.我不知道如何访问Bootbox.js中的按钮来添加事件处理程序.有什么建议?

ılǝ*_*ılǝ 6

为了使按钮成为焦点,应使用"btn-primary"类名来定义:

className:
main: {
      className: "btn-primary",  ...
}
Run Code Online (Sandbox Code Playgroud)

  • 这仅在我们没有关注任何输入字段时才有效。 (2认同)

小智 5

当用户将注意力集中在表单本身上时,我看到此帖子尚无答案

这样做的方法如下:

代码:

$(document).on("submit", ".bootbox form", function(e) {
    e.preventDefault();
    $(".bootbox .btn-primary").click();
});

bootbox.dialog({
    title : "Title",
    message : $("#templateWithForm").html(),
    onEscape : true,
    buttons : 
    {
        success : {
            label : "OK",
            className : "btn-success btn-primary",
            callback : function() {
                // do something...
            }
        }
    }
})
Run Code Online (Sandbox Code Playgroud)

说明:

代码的第一位将捕获其中包含表单的所有引导框对话框的“ submit”事件,并阻止其提交preventDefault()然后模拟单击具有以下内容的按钮className : "btn-primary"

(请注意,这将触发对所有引导框对话框的单击,因此如果您一次在页面上有多个对话框,则可能需要针对用例进行更改)

代码的第二位是一个简单的对话框调用。重要的部分是

  • onEscape : true 如果要使用退出键关闭对话框
  • className : "btn-success btn-primary" 可以根据您的需要更改btn-success

希望这对下一个人有帮助!