我按照Twitter Bootstrap modal on their main documentation page的说明进行了操作,并使用了data-keyboard="true"
语法,但转义键没有关闭模态窗口。
还有别的东西我是丢失?
代码:
<a href="#my-modal" data-keyboard="true" data-toggle="modal">Open Modal</a>
<div class='modal fade hide' id='my-modal'>
<div class='modal-body'>
<div>Test</div>
</div>
</div>
答案 0 :(得分:277)
看起来这是关键字事件被绑定的问题。
您可以将tabindex
属性添加到模态以解决此问题:
tabindex="-1"
所以你的完整代码应如下所示:
<a href="#my-modal" data-keyboard="true" data-toggle="modal">Open Modal</a>
<div class='modal fade hide' id='my-modal' tabindex='-1'>
<div class='modal-body'>
<div>Test</div>
</div>
</div>
有关详细信息,请查看this issue on github
上的讨论(更新了新TWBS存储库的链接)
答案 1 :(得分:22)
如果你通过javascript调用,请使用:
$('#myModal').modal({keyboard: true})
答案 2 :(得分:8)
将tabindex="-1"
属性添加到模态div
<div id="myModal" class="modal fade" role="dialog" tabindex="-1">
</div>
答案 3 :(得分:3)
在角度我正在使用这样:
var modalInstance = $modal.open({
keyboard: false,
backdrop: 'static',
templateUrl: 'app/dashboard/view/currentlyIneligibleView.html',
controller: 'currentlyIneligibleCtrl',
resolve: {
data: function () { return param; }
}
});
答案 4 :(得分:-1)
在HTML中,只需将data-backdrop
设置为静态,将data-keyboard
设置为false
<button type="button" data-toggle="modal" data-target="#myModal" data-backdrop="static" data-keyboard="false">Launch modal</button>
或
$('#myModal').modal({
backdrop: 'static',
keyboard: false
})