【发布时间】:2013-10-15 14:01:53
【问题描述】:
我有一个典型的下拉菜单,默认情况下它是隐藏的,但通过以下 jQuery 魔法
<ul class="navNew">
<li class="test">
<a href="#">OPTION</a>
<ul>
<li>Suboption -- Hidden</li>
</ul>
</li>
</ul>
$(".navNew li").unbind('mouseenter mouseleave').bind('mouseenter mouseleave', function() {
$(this).toggleClass('hover');
});
因此,使用 mouseenter 和 mouseleave,“悬停”类将添加到菜单中以使其可见或将其关闭以使其再次不可见。
这一切都像一个魅力,问题出在 iPad 上。单击将充当 mouseenter,但再次单击按钮不会充当 mouseleave,因此菜单永远不会再次关闭。是否可以修改此代码,以便单击也可以打开和关闭此菜单?
我创建了一个 jsFiddle 来解释我的菜单在做什么:http://jsfiddle.net/qgrt5/
【问题讨论】:
-
使用“onclick”事件w3schools.com/jsref/event_onclick.asp
-
@JoeDF 我仍然想保持悬停功能。如果我将单击添加到绑定中,则单击确实有效,但是如果在单击后将鼠标移开,它将切换悬停,因此将反转(鼠标关闭时可见)
-
@JoeDF 不是吗?我的代码已经在鼠标悬停时起作用。问题是是否可以将点击添加到此功能中
-
@JoeDF 是的,有一个小提琴,查一下 :) :)
标签: javascript jquery html