2013-09-27 2 views
1

Я использую меню jquery в своем приложении. У меня есть 3 уровня подменю. Как показано ниже в jsfiddle.Отключить открытие подменю в меню jquery при зависании

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

Когда мы парение мыши на опции меню, подменю будет открываться автоматически. Я хочу отключить эту функцию и хочу открыть подменю только по щелчку. я пытался использовать:

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

Я также попытался дать 1-го уровня, как имя класса 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 и MouseLeave события

$("#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

Смежные вопросы