//使用引導模式,該模式爲您提供關閉模式的默認行爲,或者在模態外單擊。 或
使用bootbox它給點擊是或否的回調。 OR,如下圖所示,關閉模式
使用keyup事件。在Keydown事件之後觸發Keyup事件,因此在這種情況下使用Keyup事件更爲合適。
$(document).on('keyup',function(event) {
if (event.keyCode == 27) {
modal.hide();
}
});
更新:完整的工作示例html下面的引導模態顯示和隱藏ESC按鍵。 注意:除了data-keyboard =「true」,tabindex = -1屬性對ESC按鍵功能很重要。
<html>
<head>
<meta charset="utf-8">
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script>
$(document).ready(function() {
$("#hereBtn").click(function (e) {
$("#alertModal").modal('show');
});
});
</script>
<title>Bootstrap modal</title>
</head>
<body>
<div>Click <button id="hereBtn" class="btn btn-success">HERE</button> to open Success modal</div>
<div id="alertModal" class="modal fade" role="dialog" data-keyboard="true" tabindex="-1">
<div class="modal-dialog modal-md">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 id="alertHeader"> SUCCESS!!</h4>
</div>
<div class="modal-body">
<div id="alertMessage" class="alert alert-success">Now hit ESC or click outside this modal to close this modal window</div>
</div>
</div>
</div>
</div>
</body>
</html>
的可能的複製[如何處理JavaScript彈出窗口上的ESC的keydown(http://stackoverflow.com/questions/1481626/how-to-handle-esc-keydown-on-javascript-popup-window ) – bharat