Twitter bootstrap 如何禁用Twitter引导模式的Escape键?

Twitter bootstrap 如何禁用Twitter引导模式的Escape键?,twitter-bootstrap,Twitter Bootstrap,在显示的模态中有一个表单。如果我关注一个输入字段(任何相关字段)并按ESC键,该模式将隐藏。但是,如果我不关注表单字段,则按ESC键不会关闭模式。发生什么事了 我想完全禁用模态的ESC键功能。我试过这个: $(document).on('keypress', function(e) { if(e.keyCode == 27) { e.preventDefault(); return false; } } 但这并不影响任何事情。有没有一种方法可以完全禁用模态的ESC键?您

在显示的模态中有一个表单。如果我关注一个输入字段(任何相关字段)并按ESC键,该模式将隐藏。但是,如果我不关注表单字段,则按ESC键不会关闭模式。发生什么事了

我想完全禁用模态的ESC键功能。我试过这个:

$(document).on('keypress', function(e) {
  if(e.keyCode == 27) {
    e.preventDefault();
    return false;
  }
}

但这并不影响任何事情。有没有一种方法可以完全禁用模态的ESC键?

您可以通过向特定输入添加一个ID并简单地删除enter的keydown事件来锁定该输入,如下所示:

JS


此示例使用Enter键。

Twitter的Bootstrap modal.js(请参阅)本身具有键盘true或false布尔值。可以使用以下脚本避免escape按键并在模式外单击:

    $(function () {
        $('.modal').modal({
            show: true,
            keyboard: false,
            backdrop: 'static'
        });
    });
工作演示:

$(函数(){
$('.modal').modal({
秀:没错,
键盘:错,
背景:“静态”
});
});

你好,世界!
启动演示模式
情态标题
&时代;
模态体文本在这里

接近 保存更改
如果您的模式对话框如下所示

<div id="myModal" class="modal hide fade" tabindex="-1" ...>
   ....
</div>

....

删除tabindex=“-1”应禁用Escape键。

通过添加
data keyboard=“false”
修复了该问题

类似这样的内容:

您需要
数据键盘=“false”
数据背景=“static”

工作演示:


你好,世界!
启动演示模式
情态标题
&时代;
模态体文本在这里

接近 保存更改
将键盘值设置为false

例如:

<a data-controls-modal="myModal"
   data-backdrop="static"
   data-keyboard="false"
   href="#">
>键盘:正确 按下退出键时关闭模式。 >键盘:错误 按下退出键时,防止关闭模式 演示JQuery代码


$('#myModal').modal({show:true,keyboard:false})

嗯,我试过了,但它并没有阻止modal关闭。我试过了,但我仍然得到了相同的行为。键盘:由于某些原因,false对我不起作用。我能举个例子吗?Fiddle或类似的实时示例就足够了。我通过向modal元素添加
data keyboard=“false”
尝试了这一点,它正在工作。这里有一个更新的引导文档链接,详细解释了这些选项,FWIW:适用于任何人(使用BS 3.3.x,但可能也适用于其他版本):当模式已显示时,更改
键盘:false似乎没有任何效果。打开模式时会计算此设置。删除tabindex属性会禁用Escape键,但仅当模式中没有输入字段时才禁用。当一个输入字段出现并且你关注它时,点击escape将导致模式关闭。在这里检查这个问题的内容,这是最重要的事情-首先检查data keyboard=“true”和tabindex='-1',就是这样。谢谢。背景选项是对投票结果最好的答案的一个很好的补充。这对我很有用!
<a data-controls-modal="myModal"
   data-backdrop="static"
   data-keyboard="false"
   href="#">
$(function () {
$('.modal').modal({
  backdrop: 'static',
  keyboard: false
});
}
> keyboard: true Closes the modal when escape key is pressed. > keyboard: false Prevent closing the modal when escape key is pressed