2012-08-15 86 views
0

我有,我想有一定的聯繫下方顯示一個子菜單導航菜單,這裏是總體佈局http://jsfiddle.net/hcharge/HGtTz/jQuery的導航通過點擊菜單大型懸停不

之前,我已經使用jQuery的hoverintent在下面顯示菜單,但是這次我希望它不顯示懸停和點擊,並且能夠通過Tab鍵與鍵盤一起導航。

我對jQuery很陌生,我試圖讓菜單顯示沒有任何運氣,有人能夠指出我在正確的方向嗎?我確定這很簡單,在下拉菜單中沒有顯示任何內容,然後通過點擊或其他方式滑動顯示。

如果您在盒子外或其他鏈接之外單擊,菜單也需要關閉。非常感謝。

回答

1

使用的tabindex和jQuery對焦點事件綁定比任何你想要的

​$("li a").focus(function() { 
    $(this).parent().find('ul').slideDown(200); // example of targeting nested UL with slide down animation 
}); 

它應該像這樣工作 然後用模糊的事件來隱藏子菜單觸發

​$("li a").blur(function() { 
     // your code here to hide submenu 
    }); 

啓用點擊事件:

​$("li a").click(function() { 
    // target all opened submenus and hide them by its class name 
    $("ul.active-submenu").slideUp(200).removeClass("active-submenu"); 
    // adds class to submenu so you can determine easily which is active 
    $(this).parent().find('ul').slideToggle(200).toggleClass('active-submenu'); 
}); 
+0

的李,這也將與點擊事件一起工作嗎? – hcharge 2012-08-15 13:29:39

+0

不行,你需要綁定另一個點擊事件處理程序來做到這一點 – derki 2012-08-15 13:32:41

+0

好吧,我想我開始明白,你知道我如何可以針對特定的點擊李的孩子ul嗎? – hcharge 2012-08-15 13:36:45

0

jsfiddle.net/hcharge/HGtTz

以下鏈接是上述問題

jsfiddle.net/HGtTz/23/