【问题标题】:Error: How to properly close my modal window错误:如何正确关闭我的模式窗口
【发布时间】:2021-06-08 01:09:28
【问题描述】:

我正在创建一个模态窗口,但在关闭它时遇到问题,以下是一个固定的导航栏,我将其作为页脚放置并包含两个按钮,其中一个打开我的模态窗口。

以下是我位于页脚的导航栏的代码:

<div id="accept_cookie_ga4" class="alert alert-infoCookie alert-dismissible fade in navbar-fixed-bottom hide" role="alert">
    <h4>Titulo</h4>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. </p>

    <button type="button" class="btn btn-success" data-dismiss="alert">Aceptar</button>

    <input type="button" class="btn btn-success" data-dismiss="alert"
           data-toggle="modal" data-target="#myModal" value="Abrir Modal" />    
</div>

以下是从导航栏中的按钮Abrir Modal 打开的模式窗口的代码

<div class="modal fade" id="myModal" tabindex="-1" role="dialog">
     <div class="modal-dialog">
         <div class="modal-content">
             <div class="modal-header">
                 <h4 class="modal-title" id="myModal-label">Titulo de modal</h4>
             </div>
             <div class="modal-body">
                 Modal content...
             </div>
             <div class="modal-footer">
                 <button type="button" class="btn btn-secondary" data-dismiss="modal">OK</button>
             </div>
         </div>
     </div>
 </div>

单击 OK 按钮应该会关闭我的模态窗口,但它不会。作为附加信息,我保留了 JQuery 和 Bootstrap 的版本。

  • JQuery 版本 3.3.1
  • 引导程序版本 3.3.7

我尝试使用以下功能,但我的模态窗口仍然没有关闭。

<script>
  $(".cerrarModal").click(function () {
    $("#myModal").modal('hide')
  });        
</script>

我的浏览器控制台没有显示任何错误,所以我不知道出了什么问题。

【问题讨论】:

    标签: jquery twitter-bootstrap-3


    【解决方案1】:

    您不需要自定义 Javascript 代码来关闭 Bootstrap 的模式,只要您使用 data-dismiss="modal" 属性标记关闭按钮(正如您已经在做的那样)。

    您只需删除切换按钮中的data-dismiss="alert"

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
    <div id="accept_cookie_ga4" class="alert alert-infoCookie alert-dismissible fade in navbar-fixed-bottom" role="alert">
        <h4>Titulo</h4>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. </p>
    
        <button type="button" class="btn btn-success" data-dismiss="alert">Aceptar</button>
    
        <button type="button" class="btn btn-success" data-toggle="modal" data-target="#myModal">
        Abrir Modal
      </button>
    
    </div>
    
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <h4 class="modal-title" id="myModal-label">Titulo de modal</h4>
                </div>
                <div class="modal-body">
                    Modal content...
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">OK</button>
                </div>
            </div>
        </div>
    </div>

    另请参阅JSFiddle

    有关 v3.3.7 中 Bootstrap 模式的文档,请参阅 here

    【讨论】:

      【解决方案2】:

      您有 .cerrarModal 点击功能,但我在您的代码中没有看到该类。

      https://getbootstrap.com/docs/4.0/components/modal/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-06-24
        • 1970-01-01
        • 2017-01-26
        • 1970-01-01
        • 2023-03-24
        • 2015-01-25
        • 1970-01-01
        相关资源
        最近更新 更多