点击按钮时Bootstrap Modal无法弹出问题求助
Bootstrap Modal无法弹出的解决方案
你的问题出在重复引入了Bootstrap的JS文件:你同时加载了bootstrap.min.js和bootstrap.bundle.min.js,这两个文件功能重叠,会导致JavaScript冲突,进而让Modal的触发逻辑失效。
Bootstrap 4的bootstrap.bundle.min.js已经包含了Popper.js和必要的jQuery功能,不需要再单独引入bootstrap.min.js、jQuery和Popper.js;或者你可以选择只引入bootstrap.min.js,同时搭配jQuery和Popper.js,但不能两种方式混用。
修复后的代码示例(二选一即可)
方案一:使用bundle版本(推荐)
<link href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css" rel="stylesheet" /> <button class="btn btn-success btn-lg" data-toggle="modal" data-target="#signUpModal">Sign Up!</button> <div class="modal" tabindex="-1" id="signUpModal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Modal title</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <p>Modal body text goes here.</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <button type="button" class="btn btn-primary">Save changes</button> </div> </div> </div> </div> <!-- 只保留bundle版本即可 --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-Fy6S3B9q64WdZWQUiU+q4/2Lc9npb8tCaSX9FK7E8HnRr0Jz8D6OP9dO5Vg3Q9ct" crossorigin="anonymous"> </script>
方案二:使用单独的JS文件
<link href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css" rel="stylesheet" /> <button class="btn btn-success btn-lg" data-toggle="modal" data-target="#signUpModal">Sign Up!</button> <div class="modal" tabindex="-1" id="signUpModal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Modal title</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <p>Modal body text goes here.</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <button type="button" class="btn btn-primary">Save changes</button> </div> </div> </div> </div> <!-- 移除bootstrap.bundle.min.js,保留单独的依赖和bootstrap.min.js --> <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.min.js" integrity="sha384-+sLIOodYLS7CIrQpBjl+C7nPvqq+FbNUBDunl/OZv93DB7Ln/533i8e/mZXLi/P+" crossorigin="anonymous"></script>
内容的提问来源于stack exchange,提问作者Sizmon
相关产品推荐
相关产品推荐

