如何将悬停更改为单击?

时间:2013-03-19 09:35:00

标签: jquery

现在它可以悬停。我需要让它仅在点击时工作,以便它在移动设备上正常工作。

.nav需要#access,但之后我迷路了。我怎么改变.nav以匹配来自wordpress的css?

我正试图让http://webdesigntutsplus.s3.amazonaws.com/tuts/378_tessa/tessa-lt-dropdowns-21c7868/index.html使用wordpress。

http://jsfiddle.net/scottbotkins/dbW2Q/

    var ww = document.body.clientWidth;

$(document).ready(function() {
    $(".nav li a").each(function() {
        if ($(this).next().length > 0) {
            $(this).addClass("parent");
        };
    })

    $(".toggleMenu").click(function(e) {
        e.preventDefault();
        $(this).toggleClass("active");
        $(".nav").toggle();
    });
    adjustMenu();
})

$(window).bind('resize orientationchange', function() {
    ww = document.body.clientWidth;
    adjustMenu();
});

var adjustMenu = function() {
    if (ww < 768) {
        $(".toggleMenu").css("display", "inline-block");
        if (!$(".toggleMenu").hasClass("active")) {
            $(".nav").hide();
        } else {
            $(".nav").show();
        }
        $(".nav li").unbind('mouseenter mouseleave');
        $(".nav li a.parent").unbind('click').bind('click', function(e) {
            // must be attached to anchor element to prevent bubbling
            e.preventDefault();
            $(this).parent("li").toggleClass("hover");
        });
    } 
    else if (ww >= 768) {
        $(".toggleMenu").css("display", "none");
        $(".nav").show();
        $(".nav li").removeClass("hover");
        $(".nav li a").unbind('click');
        $(".nav li").unbind('mouseenter mouseleave').bind('mouseenter mouseleave', function() {
            // must be attached to li so that mouseleave is not triggered when hover over submenu
            $(this).toggleClass('hover');
        });
    }
}

1 个答案:

答案 0 :(得分:0)

简单的解决方法就像删除

 #access ul li:hover > ul {
    display: block;
}

来自css和

添加此jQuery代码

$('#menu-navigation li').click(function(){
       $(this).find('.sub-menu').show();
        $(this).siblings().find('.sub-menu').hide();
});

您必须更改代码才能获得所需内容。