如果为每个脚注创建如下超链接:
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit <sub><a class="footnote" href="/footnote.php?id=123">[123]</a></sub>.</p>
然后,您可以使用jquery绑定一个click事件,使用ajax获取HTML内容,将其注入引导模式并启动该模式。
$('.footnote').on('click', function (event) {
event.preventDefault();
var $modal = $('#footnote-modal');
$.get(event.target.href, function (response) {
$modal.find('.modal-body').html(response);
$modal.modal();
});
});
下面是一个例子,我用
$.get
用一个
Promise
以说明代码如何工作。
// For example purposes only
var html = '<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptas architecto voluptatem, natus temporibus quasi labore repellat laboriosam culpa.</p>';
$('.footnote').on('click', function (event) {
event.preventDefault();
var $modal = $('#footnote-modal');
// For example purposes only
Promise.resolve(html)
.then(function (response) {
$modal.find('.modal-body').html(response);
$modal.modal();
});
// Actual code to call your PHP script
// $.get(event.target.href, function (response) {
// $modal.find('.modal-body').html(response);
// $modal.modal();
// });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
</head>
<body>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit <sub><a class="footnote" href="/footnote.php?id=123">[123]</a></sub>.</p>
<p>Dolorum ducimus quos officia blanditiis expedita <sub><a class="footnote" href="/footnote.php?id=123">[456]</a></sub>.</p>
<!-- Modal -->
<div class="modal fade" id="footnote-modal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLongTitle">Footnote</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body"></div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</body>
</html>
任何问题,只要问。