首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >单击链接后继续打开jQuery菜单

单击链接后继续打开jQuery菜单
EN

Stack Overflow用户
提问于 2012-06-16 09:06:09
回答 1查看 915关注 0票数 0

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

我的问题是,它(子菜单)关闭后,我点击一个链接。在单击主菜单项(菜单1,菜单2)时,是否有一种使其仅打开/关闭的方法?

编辑:我的问题不会出现在小提琴,因为链接不是真实的。

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

EN

回答 1

Stack Overflow用户

发布于 2012-06-16 09:24:33

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

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

这段代码应该对您有帮助,我所做的就是在用户单击嵌套列表时返回false。

您也可以尝试以下方法:http://api.jquery.com/unbind/

希望这有帮助,干杯!

代码语言:javascript
运行
复制
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);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11062139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档