【问题标题】:Bootstrap dismissible alert not workingBootstrap 可关闭警报不起作用
【发布时间】:2017-03-06 14:37:41
【问题描述】:

我已经解决了这个错误一个小时,但似乎找不到任何解决方案!我正在使用引导程序并且我有一个可关闭的警报但是当我点击 x 关闭时没有任何反应。

这是我的 div

<div class="alert alert-warning alert-dismissible" role="alert">
  <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  <strong>Warning!</strong> Still on beta stage.
</div>

这是我包含 js 文件的页脚

<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

【问题讨论】:

  • Your code works fine,确保 bootstrap js 已加载,并且您没有从代码中的其他地方收到错误(检查控制台)
  • 使用 span 而不是按钮看看发生了什么
  • 我没有发现任何问题,尝试了jsfiddle.net/5k86pyab,验证你的引导文件
  • 好吧,span 出于某种奇怪的原因工作,没有改变任何其他东西!

标签: javascript twitter-bootstrap


【解决方案1】:

对于 Bootstrap v.5.1 只需在 alert-dismissible 之后添加 fade show 并在类之后添加 btn-closedata-bs-dismiss

    <div class="alert alert-warning alert-dismissible fade show" role="alert">
  <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  <strong>Warning!</strong> Still on beta stage.
</div>

【讨论】:

  • 想展示如何在您的答案中添加这些类?
【解决方案2】:

我现在使用的是 Bootstrap v5.1,根据文档,模板是

<div class="alert alert-warning alert-dismissible fade show" role="alert">
  <strong>Holy guacamole!</strong> You should check in on some of those fields below.
  <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>

参考:https://getbootstrap.com/docs/5.1/components/alerts/#dismissing

【讨论】:

    【解决方案3】:

    如果您使用的是 Bootstrap 5.0,bootstrap.js 代码中的 data-dismiss 选择器似乎已更改为 data-bs-dismiss。 所以我只需要将 data-dismiss="modal" 更改为 data-bs-dismiss="modal" 就可以了。

    【讨论】:

    • 我使用的是 v4.0 文档中的示例,但使用的是 v5.0 ....
    【解决方案4】:

    确保您已成功将 CND 添加到 BootStrap Javascript。查看“入门”部分时,您可能只包含了指向 CSS 链接的链接。

    将此添加到您的标题或在您的结束正文之前。

    【讨论】:

      【解决方案5】:
      <div class="alert alert-success alert-dismissible fade show" role="alert">
        <strong>Holy guacamole!</strong> You should check in on some of those fields below.
        <button type="button" class="close" data-dismiss="alert" aria-label="Close" style="outline: none;">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
      <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ho+j7jyWK8fNQe+A12Hb8AhRq26LrZ/JpcUGGOn+Y7RsweNrtN/tE3MoK7ZeZDyx" crossorigin="anonymous"></script>
      <script>
        document.addEventListener('DOMContentLoaded', () => {
          $('.alert').alert()
        })
      </script>
      

      要解决您的问题,请使用上面的代码

      <script>
        document.addEventListener('DOMContentLoaded', () => {
          $('.alert').alert()
        })
      </script>
      

      当您单击X 关闭警报时,它会运行一个名为 alert() 的 js 函数,要使用此函数,您需要将下面给出的 script-srcs 添加到您的代码中

      <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
      <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ho+j7jyWK8fNQe+A12Hb8AhRq26LrZ/JpcUGGOn+Y7RsweNrtN/tE3MoK7ZeZDyx" crossorigin="anonymous"></script>
      

      【讨论】:

      • 感谢您提供此代码 sn-p,它可能会提供一些有限的即时帮助。一个适当的解释将通过展示为什么这是解决问题的好方法来极大地提高其长期价值,并使其对有其他类似问题的未来读者更有用。请编辑您的答案以添加一些解释,包括您所做的假设
      【解决方案6】:

      试试这个功能

      $('.close').click(function(){
           $(".test").css("display", "none");
      

        $('.test').hide();
      

      });

      并在 span 标签中声明一个类

      <strong class="test">Warning!</strong> Still on beta stage.
      

      应该可以工作

      【讨论】:

      • 如果你使用显示或隐藏,你再也看不到警报了。
      【解决方案7】:
      <div class="alert alert-warning alert-dismissible" role="alert">
        <span type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></span>
        <strong>Warning!</strong> Still on beta stage.
      </div>
      

      【讨论】:

      • 对于以前版本的引导程序,您可能需要将容器类引用放入 close span href 属性而不是 close span data-dismiss 属性中。
      • 如何在几秒钟后自动关闭警报?
      • @Mr.Wizard 嗨,你可以试试这个解决方案:chadkuehn.com/self-closing-bootstrap-alert
      猜你喜欢
      • 1970-01-01
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-23
      • 1970-01-01
      • 1970-01-01
      • 2017-06-23
      相关资源
      最近更新 更多