Bootstrap Modal对话框在输入按下时捕获第一个按钮

时间:2017-07-10 11:50:15

标签: javascript jquery html twitter-bootstrap

我尝试使用enter按钮在boostrap模式中触发OnClick事件。问题是它在我按下enter按下之前抓住每个按钮。

我需要做的是在.modal-footer is visible时按下.modalClose类的按钮。

这是我的代码:

$(document).keyup(function (e) {
    modalFooter = $(".modal-footer");
    btnClose = $(".modalClose");
    if (e.keyCode == 13) //enter
    {
        if (modalFooter.is(":visible")) {
            modalFooter.find(".modalClose").click();
        }
    }
});

我怎样才能避免"输入"在这之前按下每个其他按钮?

1 个答案:

答案 0 :(得分:1)

如果输入按键,则需要先停止发生的任何事情:

$(document).keyup(function (e) {
    modalFooter = $(".modal-footer");
    btnClose = modalFooter.find(".modalClose");
    if (e.which === 13) //enter
    {
        e.preventDefault(); /* <-- here we stop the event */
        if (modalFooter.is(":visible")) {
            btnClose.click();
        }
    }
});

旁注,.keyCode已被弃用我相信,请使用e.which