css - 下拉列表中的搜索栏

标签 css search drop-down-menu toggle

我有一个 Wordpress 网站,对于移动版本,我在顶部有一个菜单栏,带有一个带有类别的下拉列表。我也想添加搜索栏。

我有一个工作下拉列表,底部包含搜索栏,但是当您在搜索栏中单击时,列表会重新出现。我想知道最好的方法是什么,或者有没有可能的方法让它保持下来?

我启用了一些 JavaScript,在您点击触摸移动设备的位置,它是一个滑动开关。下面提供了所有相关代码:

HTML

<div id="nav-responsive">
  <div class="categories-responsive fssinclair_bold">
    <ul id="nav">
      <li><h3 class="fssinclair_bold"></h3>
        <ul>
          <?php wp_list_categories('&title_li=') ?>
        </ul>
        <div class="search-responsive">
          <form method="get" id="searchform" action="<?php echo home_url( '/' ); ?>">
            <div id="search-inputs">
              <input type="text" value="" name="s" id="search-box" placeholder="SEARCH" />
              <input type="hidden" name="ref_url" value="<?php esc_url($_SERVER['REQUEST_URI'])?>">
            </div>
          </form>
        </div>
      </li>     
    </ul>
  </div>
</div>

用于在触摸设备上切换的 JavaScript:

$(document).ready(function () {
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) {
   $('.categories-responsive').click(function(){
   $(this).find('ul#nav').find('ul').slideToggle();
});

最佳答案

可行的解决方案是为这些元素创建一个单独的函数或使用 stopPropagation,这样子元素就不会在点击事件时被触发。像这样:

onclick="event.cancelBubble=true;if (event.stopPropagation) event.stopPropagation();"

或这个用于您的搜索字段

$("#searchform").click(function(event){ event.stopPropagation(); });

关于css - 下拉列表中的搜索栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16057617/

相关文章:

Android动态填充下拉列表

css - 当父级是 anchor 时,如何删除 flex 子级上的文本装饰下划线?

ruby-on-rails - PostgreSQL Ruby Heroku 问题

php - 为 wp_nav_menu 设置类

c++ - 重载 Boost Multi_Index 查找操作

python - 如何加速Python脚本迭代嵌套循环?

html - 无法使 CSS/html 下拉菜单的第二级工作

jquery - 如何为全宽子菜单提供向下滑动效果

internet-explorer - 使用 CSS 的 IE 8 的 3 列输出

css - 在 CSS 样式中省略前导 '0' 的好处