📅  最后修改于: 2023-12-03 14:52:59.905000             🧑  作者: Mango
在使用 Twitter Bootstrap 模态框时,有时需要在模态框关闭时执行一些操作。本文将介绍如何处理模态关闭事件。
可以使用 jQuery 监听模态关闭事件,并在事件发生时执行相应操作。事件名称为 hidden.bs.modal
,可使用以下代码监听事件:
$('#myModal').on('hidden.bs.modal', function (e) {
// 在此处执行操作
})
其中 #myModal
为模态框的 id。
也可以使用 JavaScript 原生监听模态关闭事件。可以使用以下代码监听:
let myModalEl = document.getElementById('myModal')
myModalEl.addEventListener('hidden.bs.modal', function (event) {
// 在此处执行操作
})
需要注意的是,元素必须是通过 Bootstrap.Modal
构造函数实例化的。
以下是一个完整的代码示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Modal Close Event Example</title>
<link href="https://cdn.bootcdn.net/ajax/libs/bootstrap/5.1.0/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.bootcdn.net/ajax/libs/bootstrap/5.1.0/js/bootstrap.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<div class="container">
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#myModal">
Launch modal
</button>
<div class="modal fade" id="myModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
Modal content...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
</div>
<script>
$(function () {
$('#myModal').on('hidden.bs.modal', function (e) {
alert('Modal closed')
})
})
</script>
</body>
</html>
在上述示例中,当模态关闭时,执行了一个弹窗提示“Modal closed”。
使用上述两种方法可以相应地处理 Twitter Bootstrap 中的模态关闭事件。使用 jQuery 监听事件较为简单,而使用 JavaScript 原生监听事件可以更好地控制模态框实例。