javascript - 我的搜索框似乎不喜欢我的覆盖

标签 javascript html css

有问题的页面:https://www.harpercollege.edu/library/index.php

我有一个网站,我正在为其创建一个新的移动导航,除了搜索输入字段外,一切都运行良好。搜索按钮不会导致任何问题,但输入框会触发覆盖切换关闭。我曾尝试使用 Z-Index 值,认为这是原因,但没有效果。它在某一时刻工作正常,当我回去设计覆盖层时,它现在已经坏了。

此外 - 此叠加层仅以 900 像素或更小的宽度显示。

$(document).ready(function() {
  $(".button a").click(function() {
    $(".overlay").fadeToggle(200);
    $(this).toggleClass('btn-open').toggleClass('btn-close');
  });
});
$('.overlay').on('click', function() {
  $(".overlay").fadeToggle(200);
  $(".button a").toggleClass('btn-open').toggleClass('btn-close');
  open = false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="overlay" style="display: block;">
  <div class="wrap">
    <div class="search-box-mobile">
      <form id="cse-search-box" class="navbar-search" action="https://www.harpercollege.edu/search/index.php" method="get" enctype="application/x-www-form-urlencoded" role="search">
        <label class="sr-only" for="q">Search</label>
        <input id="q" class="search-query" title="Search Harper College" placeholder="Search Harper College" type="text" name="q"><button type="submit" class="btn btn-default">
                        	<span class="fa fa-search"></span></button>
      </form>
    </div>
    <ul class="wrap-nav">
      <li><a href="#">Quick Links</a>
        <ul>
          <li><a href="/index.php">Home</a></li>
          <li><a href="https://myharper.harpercollege.edu">MyHarper</a></li>
          <li><a href="https://harper.blackboard.com/webapps/login/">Blackboard</a></li>
          <li><a href="http://events.harpercollege.edu/">Calendar</a></li>
          <li><a href="http://dept.harpercollege.edu/library/">Library</a></li>
          <li><a href="https://hip.harpercollege.edu/">Faculty &amp; Staff</a></li>
          <li><a href="/about/contactus.php">Contact Us</a></li>
        </ul>
      </li>
      <li><a href="/library/services/index.php">Services</a>
        <ul>
          <li><a href="/library/services/plagiarism.php">Plagiarism</a></li>
          <li><a href="/library/services/forms/index.php">Forms</a>
          </li>
          <li><a href="/library/services/workshops.php">Workshops</a></li>
          <li><a href="/library/services/tutorials.php">Tutorials</a></li>
          <li><a href="/library/services/copyright.php">Copyright &amp; Fair Use</a></li>
          <li><a href="/library/services/faculty/index.php">Faculty &amp; Staff</a></li>
          <li><a href="/library/services/district-borrowers.php">District Residents</a></li>
        </ul>
      </li>
      <li><a href="/library/research/index.php">RESEARCH</a>
        <ul>
          <li><a href="https://vufind.carli.illinois.edu/vf-wrh/">Catalog</a></li>
          <li><a href="http://libguides.harpercollege.edu/az.php">Databases</a></li>
          <li><a href="http://libguides.harpercollege.edu/srch.php">Research Guides</a></li>
          <li><a href="/library/research/other-libraries.php">Other Libraries</a></li>
        </ul>
      </li>
      <li><a href="/library/faqs/index.php">FAQS</a></li>
      <li><a href="/library/archives/index.php">ARCHIVES</a>
        <ul>
          <li><a href="/library/archives/donate.php">Archive Donation Form</a></li>
        </ul>
      </li>
      <li><a href="/library/about/index.php">ABOUT</a>
        <ul>
          <li><a href="/library/about/mission.php">Library Mission</a></li>
          <li><a href="/library/about/policies/index.php">Library Policies</a></li>
          <li><a href="/library/about/directory/index.php">Directory</a></li>
          <li><a href="/library/about/hours.php">Hours / Location</a></li>
          <li><a href="http://libguides.harpercollege.edu/LCCReadingRoom">LCC Reading Room</a></li>
        </ul>
      </li>
    </ul>
  </div>
</div>

最佳答案

你在 custom.min.js 中有这段代码导致覆盖关闭

$('.overlay').on('click', function(){
    $(".overlay").fadeToggle(200);   
    $(".button a").toggleClass('btn-open').toggleClass('btn-close');
    open = false;
});

来自输入的点击事件冒泡并由此处理程序处理。 您可以尝试通过 event.target 查看点击了什么元素,或者您可以更改关闭叠加层的功能。

注意:我通过为您的覆盖创建 DOM 断点(中断 -> 属性修改)找到了上面的代码

关于javascript - 我的搜索框似乎不喜欢我的覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47932354/

相关文章:

javascript - Node Mailgun 未附加文件

javascript - 环境变量 typescript

css - 将 line-height 设置为相对于父元素的百分比

html - 容器中并排的两张 table 不会漂浮

html - 表格布局为 : fixed; and how to make one column wider 的表格

javascript - 样式表单时的填充文本

javascript - 如何使用基于函数的 React 将状态传递给子组件?

javascript - 允许用户在不刷新页面的情况下留下多条评论

PHP 文件不打印 HTML 表单内容

javascript - 如何在点击时将图像更改为其他图像?