点击链接后,jQuery菜单保持打开状态

时间:2012-06-16 09:06:09

标签: jquery wordpress menu onclick

我有一个jQuery菜单,在“click”打开并关闭“dblclick”。 http://jsfiddle.net/snoffoz/4rZa9/1/

我的问题是,点击链接后它(子菜单)关闭了。 有没有办法让它只在点击主菜单点(菜单1,菜单2)时打开/关闭?

编辑:由于链接不真实,我的问题不会出现在jsfiddle中。

“ul”“li”由Wordpress生成。 WP链接http://wptemp.site90.net/

1 个答案:

答案 0 :(得分:1)

工作演示 http://jsfiddle.net/JuvwB/

如果我建议您尝试重构无序列表,那么您就会遇到绑定问题,因为您的ul列表li已嵌套全新ul,即水平菜单。

此代码可以帮助您,当用户单击嵌套列表时,我所做的只是返回false。

你也可以试试这个:http://api.jquery.com/unbind/

希望这有帮助,欢呼!

<强>码

jQuery.noConflict();
(function($) {
$(function() {

    // Dropdown Menu

    var timeout    = 100;
    var closetimer = 0;
    var ddmenuitem = 0;

    function jsddm_open() {
        jsddm_canceltimer();
        jsddm_close();
        ddmenuitem = $(this).find('ul').css('visibility', 'visible').parent().addClass('jsddm_hover').end();
    }
    function jsddm_close() {
        if(ddmenuitem) ddmenuitem.css('visibility', 'hidden').parent().removeClass('jsddm_hover');
    }
    function jsddm_timer() {
        closetimer = window.setTimeout(jsddm_close, timeout);
    }
    function jsddm_canceltimer() {
        if(closetimer) {
            window.clearTimeout(closetimer);
            closetimer = null;
        }
    }

    $('ul.jsddm li').bind('click', jsddm_open);

    $('ul.jsddm li').bind('dblclick',  jsddm_timer);
    $('ul.sub-menu li a').bind('dblclick', function(){
        return false;        
    });
    //document.onclick = jsddm_close;

    $('.thumb img').after('<span></span>');
    $('.thumb span').css('opacity','0');
    $('.post_home a:first-child').hover(function(){



    }); 



});
})(jQuery);