2012-06-16 118 views
0

我有一個jQuery菜單,打開「點擊」並關閉「dblclick」。 http://jsfiddle.net/snoffoz/4rZa9/1/jQuery菜單保持打開鏈接點擊後

我的問題是,它(子菜單)點擊鏈接後關閉。 當點擊主菜單點(菜單1,菜單2)時,有沒有辦法讓它只能打開/關閉?

編輯:我的問題不會出現在jsfiddle中,因爲鏈接不是真實的。

「ul」「li」由Wordpress生成。 WP鏈接http://wptemp.site90.net/

+2

當我點擊子鏈路它不關閉? – jcolebrand

+0

出於好奇,爲什麼你需要分配每個菜單項的ID作爲該項目的類?例如。 menu-item-236 –

+0

yupp他們沒有關閉後點擊它們 – Anu

回答

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); 

+0

cheerios @undefined for edit!謝謝B-) –

+1

你是受歡迎的朋友:) – undefined

+1

@undefined哈哈:)它顯得很傷心!再次感謝! :P –