处理iPad上的鼠标进入和鼠标离开
Dealing with mouseenter and mouseleave on the iPad
我有一个典型的下拉菜单,默认情况下是隐藏的,但通过以下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和mouselleave,类"hover"被添加到菜单中以使其可见或将其关闭以使其不可见。
这一切都像一个魅力,问题是在iPad上。单次单击将充当鼠标进入,但再次单击按钮不充当鼠标离开,因此菜单永远不会再次关闭。是否可以修改此代码,以便单击即可打开和关闭此菜单?
我已经创建了一个jsFiddle来解释我的菜单在做什么:http://jsfiddle.net/qgrt5/
工作示例:http://jsfiddle.net/qgrt5/
编辑:下面的代码现在将检查用户是否来自iPad,如果他们是,它将使用click
函数而不是mouseenter
var isiPad = navigator.userAgent.match(/iPad/i) != null;
if (isiPad) {
$(".navNew li").unbind('mouseenter mouseleave').bind('mouseenter mouseleave', function() {
$(this).toggleClass('hover');
});
}
else {
$(".navNew li").unbind('mouseenter mouseleave').bind('mouseenter mouseleave', function() {
$(this).toggleClass('hover');
});
}
相关文章:
- 如何在按住鼠标按钮且光标在视口外时检测鼠标离开
- 如果鼠标离开父对象,则隐藏元素
- 鼠标输入和鼠标离开不起作用
- 鼠标输入鼠标离开没有按照我认为应该的方式工作
- 鼠标离开浏览器窗口的Javascript修改
- 未检测到鼠标离开时的事件
- 鼠标离开后强制重新加载gif
- Angular:模拟触摸设备上的鼠标离开
- 如何激活鼠标离开,如果已经 x 时间
- 悬停(鼠标离开)方法不显示效果
- 正在处理.js - 当鼠标离开画布时继续交互
- mouse在 iframe 的内容中输入鼠标离开
- Javascript - 鼠标离开时延迟动画
- Jquery 鼠标悬停和鼠标离开
- 在单击时对元素进行动画处理,并在该元素和其他元素上单击鼠标输入/鼠标离开
- 鼠标离开不会再次打开
- 鼠标离开时悬停和反向的跨浏览器动画 gif
- FF 鼠标离开/鼠标输入事件
- 下拉导航 - 鼠标离开时菜单闪烁
- 如何将鼠标离开添加到我的文件中?以及我的代码会是什么样子