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

时间:2014-10-12 18:34:47

标签: javascript html html5 bootbox

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

4 个答案:

答案 0 :(得分:5)

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

className:
main: {
      className: "btn-primary",  ...
}

答案 1 :(得分:4)

我发现这篇文章在用户关注表单本身

的情况下还没有答案

以下是如何操作:

代码:

$(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...
            }
        }
    }
})

说明:

第一段代码将捕获"提交"包含表单的所有bootbox对话框的事件,并阻止使用preventDefault()提交,然后它将模拟点击具有className : "btn-primary"

的按钮

(请注意,它会触发对所有引导程序对话框的单击,因此如果您在页面上只有一个对话框,则可能需要根据用例更改它)

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

  • onEscape : true如果要使用Escape键关闭对话框
  • className : "btn-success btn-primary" btn-success显然可以根据您的需求进行更改

希望这有助于下一个人!

答案 2 :(得分:1)

您只需为要单击Enter键的按钮添加'bootbox-accept'className。

示例:

bootbox.dialog({ title : "Title", message : "Your Message", onEscape : true, buttons : { success : { label : "OK", className : "btn-success bootbox-accept", callback : function() { // do something... } }, cancel:{ label : "Cancel", className : "btn-danger", callback : function() { // do something... } }, } })

答案 3 :(得分:-1)

使用btnclassName并按以下代码分配“ btn-primary”

function ShowpopUp(){

    bootbox.confirm({
        size: "Large",
        btnclassName: "btn-primary",
         title: "Guests from outside your organization",
        message: "The following recipients are from outside of the SPSG organization:<br> <br> "
            +
            getSelectedNonMembersEmails()

            + "<br> <br> Are you sure you would like to send it?",

        callback: function (result) {
            if (result === true) {
                reportVm.currentPage(4);
            }
            else {
                bootbox.hideAll();

            }
        }
    });
}