Bootstrap 5.2模态框无法打开求助:Flask环境下点击按钮无响应
Bootstrap 5.2模态框无法触发的问题排查与解决
你的代码里有两个关键问题导致模态框点击没反应:
未引入Bootstrap JavaScript文件
Bootstrap 5的交互组件(比如模态框、下拉菜单)必须依赖官方JS文件才能正常工作,你只在<head>里引入了Bootstrap的CSS,完全没加核心JS文件,这是最根本的遗漏。Popper引入存在错误
你重复引入了两个不同版本的Popper,且第二个<script>标签未闭合(缺少</script>),会导致脚本加载异常;另外Bootstrap 5.2需要搭配Popper 2.9.x版本,要确保版本匹配且仅引入一次。
修正后的完整代码
把正确的Popper和Bootstrap JS脚本放在<body>标签末尾(确保DOM加载完成后再执行脚本):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>UNIFINITY Worldwide</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css" integrity="sha512-z3gLpd7yknf1YoNbCzqRKc4qyor8gaKU1qmn+CShxbuBusANI9QpRohGBreCFkKxLhei6S9CQXFEbbKuqLg0DA==" crossorigin="anonymous" referrerpolicy="no-referrer"/> </head> <body> <div class="container border"> <!-- Button trigger modal --> <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#staticBackdrop"> Launch static backdrop modal </button> <!-- Modal --> <div class="modal fade" id="staticBackdrop" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h1 class="modal-title fs-5" id="staticBackdropLabel">Modal title</h1> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> ... </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">Understood</button> </div> </div> </div> </div> </div> <!-- 正确引入Popper和Bootstrap JS --> <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js" integrity="sha384-cuYeSxntonz0PPNlHhBs68uyIAVpIIOZZ5JqeqvYYIcEL727kskC66kF92t6Xl2V" crossorigin="anonymous"></script> </body> </html>
补充:原代码里<html lang="html">是错误写法,建议改成<html lang="en">或对应语言代码,不过这不会影响模态框功能。
内容的提问来源于stack exchange,提问作者codian40V3
相关产品推荐
相关产品推荐

