我在我的应用程序中使用jquery菜单。我有3个级别的子菜单。 就像下面的jsfiddle所示。
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>
我无法停止鼠标悬停时子菜单的打开。 我希望子菜单只在点击后打开。请帮忙! 谢谢。
答案 0 :(得分:5)
没有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');
声明