Scu*_*eve 7 html javascript jquery modal-dialog twitter-bootstrap-3
因此, 不适data-dismiss="modal"用于在我的 HTML 中添加的按钮,但适用于通过 JS 插入按钮 HTML 添加到模式的按钮。这让我发现我添加脚本标签的位置/顺序有问题。
我的脚本标签按以下顺序排列:
<script src="/Scripts/jquery-2.1.1.js"></script>
<script src="/Scripts/bootstrap.js"></script>
<script src="/Scripts/respond.js"></script>
<script src="/Scripts/Shared/site.js"></script>
Run Code Online (Sandbox Code Playgroud)
我尝试将它们放入<head>. 我把它们移到了之前的最后一件事</body>。我将它们移到了模式 html 的前面和后面。
更新
这是我的代码的简化版本:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Title</title>
<link href="/Content/bootstrap.css" rel="stylesheet"/>
<link href="/Content/font-awesome.css" rel="stylesheet"/>
<link href="/Content/site-bootstrap.css" rel="stylesheet"/>
<link href="/Content/site.css" rel="stylesheet"/>
<script src="/Scripts/modernizr-2.8.3.js"></script>
</head>
<body>
<div id="Popup" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div id="PopupHeader">
<button type="button" id="PopupX" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 id="PopupTitle" class="modal-title floatLeft"></h4>
<div class="clear"></div>
</div>
<div class="modal-body bgColorWhite">
<div id="PopupContent">Test</div>
</div>
<div id="PopupButtons" class="modal-footer bgColorWhite">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<script src="/Scripts/jquery-2.1.1.js"></script>
<script src="/Scripts/bootstrap.js"></script>
<script src="/Scripts/respond.js"></script>
<script src="/Scripts/Shared/site.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
另一个注意事项:
如果我通过 JS 添加“关闭”按钮(又名 X),它也可以工作。它已经在模式中了,这会导致问题。
有什么建议么?
我能够弄清楚我的问题。就是在我自己的 JS 文件中,我想添加到每个按钮单击事件 event.stopPropagation(); 由于这是一个方法,并且我不希望每次调用时都将其多次添加到同一个按钮,因此我将删除以前的单击事件,即删除 Bootstrap 的关闭单击事件。
因此,如果您遇到同样的问题并且正确添加了所有 Bootstrap 的 JS,请检查您自己的代码以确保您没有覆盖/删除事件。
更新
只是为了澄清, event.stopPropagation() 阻止数据消除工作。