2013-09-27 134 views
1

我在我的應用程序中使用jquery菜單。我有3個子菜單級別。 就像下面的jsfiddle所示。關閉懸停的jquery菜單中的子菜單打開

http://jsfiddle.net/ankitap/WC3bE/

當我們這樣做的菜單選項鼠標懸停時,子菜單會自動打開。 我想禁用此功能,並希望僅在點擊時打開子菜單。 我試着使用:

$("#menu a").menu({ role: null }); 

我也想給一級類名作爲mainclass級和2級的類名作爲子類。

 <script> 
     $("#menu").menu(); 
     $("#menu a").click(function() { 
     console.log($(this).text()); // gets text contents of clicked li 
     $(".subclass a").show(); 
     }); 

     $("#menu a").click(function() { 
     $(".subclass a").hide(); 
     }); 
     </script> 

這種情況的HTML代碼:

<ul id="menu" class="mainclass"> 
    <li><a href="#">Aberdeen</a></li> 
    <li><a href="#">Ada</a></li> 
    <li><a href="#">Adamsville</a></li> 
    <li><a href="#">Addyston</a></li> 
    <li> 
    <a href="#">Delphi</a> 
    <ul class="subclass"> 
     <li > 
      <a href="#">Ada</a> 
      <ul> 
       <li> 
        <a href="#">ankita</a>    
       </li> 
      </ul>  
     <li><a href="#">Saarland</a></li> 
     <li><a href="#">Salzburg</a></li> 
    </ul> 
    </li> 
    <li><a href="#">Saarland</a></li> 
    <li> 
    <a href="#">Salzburg</a> 
    <ul class="subclass"> 
     <li> 
     <a href="#">Delphi</a> 
     <ul> 
      <li><a href="#">Ada</a></li> 
      <li><a href="#">Saarland</a></li> 
      <li><a href="#">Salzburg</a></li> 
     </ul> 
     </li> 
     <li> 
     <a href="#">Delphi</a> 
     <ul> 
      <li><a href="#">Ada</a></li> 
      <li><a href="#">Saarland</a></li> 
      <li><a href="#">Salzburg</a></li> 
     </ul> 
     </li> 
     <li><a href="#">Perch</a></li> 
    </ul> 
    </li> 
    <li><a href="#">Amesville</a></li> 
</ul> 

我無法停止子菜單的鼠標懸停開幕。 我希望子菜單隻在點擊後打開。請幫助! 謝謝。

回答

4

沒有JS/jQuery的大師,但也許解除綁定的mouseenter和鼠標離開事件

$("#menu").menu(/*{ 
select: function(event, ui) { 
    var selection = ui.item.text(); 
    var get=this.event; 
    console.log(get); 
}}*/); 
$('#menu').unbind('mouseenter mouseleave'); 
$("#menu a").click(function() { 
    console.log($(this).text()); 
}); 

注意$('#menu').unbind('mouseenter mouseleave');聲明

+0

太謝謝你了!有效! – LearningToCode

+0

沒問題,對哥們收費 – gwillie