首页 > 解决方案 > 为什么我的模态窗口会自动打开和关闭?

问题描述

我创建了一个以模态链接打开的搜索块。

我的网站位于 Drupal 8 和 Bootstrap 3.3.7

问题是当模态显示时,它会自动关闭。为什么 ?

这是我的块的代码:

<div{{ attributes }}>

<div class="modal-search-link">
  <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="modal" data-target="#modal-search">
    <i class="fas fa-search fa-lg"></i>
    <span class="caret"></span>
  </button>
</div>

<div class="modal fade" id="modal-search" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">Lancer une recherche</h4>
      </div>
      <div class="modal-body">
        {{ content }}
      </div>
    </div>
  </div>
</div>

</div>

这是我的代码 JS,用于在模式打开时关闭菜单:

  $('#block-formulaireexposerecherchepage-1').on('click', function () {
       $('#navbar-collapse-first').collapse('hide');
  });

您必须单击左上角的菜单和放大镜才能打开带有搜索块的模式窗口。

标签: javascripttwitter-bootstrapmodal-dialogdrupal-8collapse

解决方案


你隐藏了这个 div navbar-collapse-first ,它是你打开的模态的父级,所以模态也与它的父级一起隐藏

将这部分模态代码从 div navbar-collapse-first 中取出

<div class="modal fade" id="modal-search" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
   <div class="modal-dialog" role="document">
      <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
    <h4 class="modal-title" id="myModalLabel">Lancer une recherche</h4>
         </div>
       <div class="modal-body">
          {{ content }}
       </div>
    </div>
  </div>


推荐阅读