You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

求助:Modal弹窗无法切换且始终显示,无法关闭

解决Modal弹窗始终显示且无法切换的问题

看起来你遇到的问题根源是没有引入Bootstrap的样式文件和JavaScript文件——你用了Bootstrap Modal组件相关的data-toggledata-dismiss这些自定义属性,但这些交互功能需要Bootstrap的JS来实现,同时Modal的初始隐藏状态也依赖Bootstrap的CSS支持。

下面是修复后的完整代码,我帮你补充了必要的依赖资源,还做了几个小优化方便测试:

<!DOCTYPE html>
<html>
<head>
  <!-- 引入Bootstrap CSS,控制Modal的初始隐藏样式 -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.4.1/dist/css/bootstrap.min.css">
</head>
<body>
<div class="container">
  <!-- 给按钮添加文字,方便点击测试 -->
  <button class="btn btn-primary" data-target="#campModal" data-toggle="modal">打开弹窗</button>
  
  <div class="modal" id="campModal" tabindex="-1">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <button class="close" data-dismiss="modal">&times;</button>
          <h4 class="modal-title">Create</h4>
        </div>
        <div class="modal-body">
          <form>
            <div class="form-group">
              <input type="text" name="Name" id="name" placeholder="输入名称"/>
            </div>
            <div class="form-group">
              <input type="text" name="Password" id="password" placeholder="输入密码"/>
            </div>
          </form>
        </div>
        <div class="modal-footer">
          <button class="btn btn-primary">Submit</button>
          <!-- 把关闭按钮改成默认样式,符合Bootstrap视觉规范 -->
          <button class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
      </div>
    </div>
  </div>
</div>

<!-- 先引入jQuery(Bootstrap 3的JS依赖jQuery),再引入Bootstrap JS处理交互逻辑 -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.4.1/dist/js/bootstrap.min.js"></script>
</body>
</html>

需要注意几个核心点:

  • Bootstrap 3版本的Modal必须依赖jQuery,所以一定要先引入jQuery,再引入Bootstrap的JS文件
  • .modal类在Bootstrap CSS中默认是display: none,没有加载CSS的话弹窗会一直显示在页面上
  • data-toggle="modal"data-dismiss="modal"这些属性的点击逻辑,完全由Bootstrap的JS来实现,没有JS的话点击按钮不会有任何反应

内容的提问来源于stack exchange,提问作者Bercovici Adrian

火山引擎 最新活动