仅禁用引导模态区域之外的单击几秒钟

时间:2018-07-05 05:28:37

标签: javascript jquery twitter-bootstrap-3 modal-dialog

我有一个Boostrap模式,当用户访问网页时会弹出该模式。

我想仅在几秒钟内阻止用户通过点击模式外部来关闭该模式。在那之后,用户将重新获得以这种方式关闭它的能力。

在这一点上,我已经能够防止用户关闭模式,但是不幸的是,在设置的时间之后,我一直未能成功恢复这种行为。

到目前为止,我已经尝试通过以下方式禁用点击外功能:

$('#my-modal').modal({
    backdrop: 'static',
    keyboard: false
});

然后显示模态

$('#final-taunt-modal-1').modal('show');

到目前为止,一切都按预期进行,不允许用户关闭模式。 然后,我试图通过设置超时来关闭模式:

setTimeout( function() {
    $('#my-modal').modal({
        backdrop: true, // I've tried writing 'true' as a string with the same effect here. 
        keyboard: false
    });
}, 4500);

结果是,用户确实可以通过键入“ ESC”使用键盘来关闭模式,但是当用户在其外部单击时,模式不会关闭。

我还试图通过HTML元素中的数据属性来设置模式选项:

<div tabindex="-1" data-backdrop="static" class="modal" id="my-modal" style="display: none;" aria-hidden="true">

然后提供如下所示的关闭模态的功能,只是为了获得相同的结果。

$('#my-modal').attr('data-backdrop', true)

有什么建议可以得到我想要的结果吗? (我正在使用Bootstrap 3.3.7)

0 个答案:

没有答案