jQuery click fallback sans hover ipad
Posted
技术标签:
【中文标题】jQuery click fallback sans hover ipad【英文标题】: 【发布时间】:2011-08-15 00:01:06 【问题描述】:我希望在您将鼠标悬停在某物上(和取消悬停)时调用一个函数。但是,我也希望没有悬停功能的 ipad(等)用户可以访问它。所以我希望点击后备成为可能。我该如何做到这一点?请注意,如果悬停有效,我不希望人们能够点击它。这是我目前所拥有的,非常接近:
var collapsed=1, noHover=false;
$('#deeper').hover(function() deeper(););
$('#deeper').click(function() if (collapsed || noHover)
deeper();
noHover=true;
);
function deeper()
if (collapsed == 1)
collapsed = 0;
$(this).children().show();
else
collapsed = 1;
$(this).children().hide();
但是,这会失败 - 如果在页面加载时将鼠标悬停在 #deeper 上并且在移动鼠标之前单击(似乎需要移动鼠标才能触发 .hover),则 noHover 变为 true,从而可以进行单击,以及悬停。
一定有更好的方法吗?谢谢!
【问题讨论】:
谢谢你。我实际上通过向 .hover 事件添加更多内容来解决我自己的问题: $('#deeper').hover(function() noHover=false;vbg = 1;deeperEd();,function() noHover=false ;vbg = 0;deeperEd();); 【参考方案1】:点击时 iPad 会触发触摸事件。一种选择是使用这些而不是单击,并且不传播到单击事件(或使用全局变量来跟踪单击/触摸状态)
触摸的工作原理很像点击。有关更多信息,请参阅这篇文章: http://htmlpad.wordpress.com/2010/02/12/tracking-touch-events-on-the-ipad/
【讨论】:
【参考方案2】:您可能想查看 jQuery Touchable/Hoverable plugin,它统一了不同平台上的触摸和鼠标事件(可触摸)和悬停事件(可悬停),例如台式机和带有触摸屏的移动设备。
【讨论】:
以上是关于jQuery click fallback sans hover ipad的主要内容,如果未能解决你的问题,请参考以下文章