javascript - 显示/隐藏 wordpress 子菜单

标签 javascript jquery wordpress

我在更改 Wordpress 菜单的行为时遇到了一些困难。我正在寻找它在单击时而不是在悬停时显示:

<nav>
    <ul>
        <li>
            <?php wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); ?>
        <li>
            <br />
        <form method="get" id="search_form" action="<?php bloginfo('home'); ?>">
            <input type="text" class="text searchForm" name="s" value="Search" >
        </form>
    </ul>
</nav>

jQuery(document).ready(function ($) {
    $(".sub-menu").hide();
    $(".current_page_item .sub-menu").show();
    $("li.menu-item").click(function () { // mouse CLICK instead of hover
        $(".sub-menu").hide(); // First hide any open menu items
        $(this).find(".sub-menu").show(); // display child
    });
});

当我将其更改为切换时,它会关闭菜单中的其他链接。我不确定这里的问题是什么......

最佳答案

您可以只使用 jQuery 点击功能,而不是悬停。此外,您还必须确保 <a>通过禁用超链接的默认行为,标记不起作用。

jQuery(document).ready(function ($) {
    $(".sub-menu").hide();
    $(".current_page_item .sub-menu").show();
    $("li.menu-item").click(function () { // mouse CLICK instead of hover
        // Only prevent the click on the topmost buttons
        if ($('.sub-menu', this).length >=1) {
            event.preventDefault();
        }
        $(".sub-menu").hide(); // First hide any open menu items
        $(this).find(".sub-menu").show(); // display child
        event.stopPropagation();
    });
});

关于javascript - 显示/隐藏 wordpress 子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27129788/

相关文章:

jQuery FlexSlider : Advance Carousel One Item at a Time

php - MySQL/PHP/Wordpress - php 结果对象包含具有函数名称的成员 - 如何取消引用?

php - AJAX 调用包含 php 文件

javascript - 捕获 iframe 异常

javascript - 调整大小时 jQuery 的小错误?

c# - 为 System.Net.NetworkInformation.Ping 创建 COM 可调用包装器

javascript - 使用 Javascript 发布取消隐藏 div

css - Avada 主题、Wordpress、Header Logo 定制、

javascript - CSS- jQuery - 将一个 div 向左滚动,同时将另一个 div 扩展到宽度 100%

javascript - iframe同源内div的jQuery onload