我正在尝试使用jQuery为我的网站创建错误的悬停事件...
我只创建了以下列表中的所有子元素,现在也返回false,而不是链接到正确的页面...
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
$("ul.sf-menu li.i").click(function(e) {
e.preventDefault();
});
}
有人对可行的替代方法有任何想法吗?
的HTML
<ul class="sf-menu"> <li><a href="index.html">Home</a><li class="i"><a href="wedding-hire.html">Weddings</a>
<ul>
<li><a href="peel-suite.html">Peel Suite</a></li>
<li><a href="the-hall.html">The Hall</a></li>
<li><a href="the-grounds.html">The Grounds</a></li>
<li><a href="food-and-drink.html">Food & Drink</a></li>
<li><a href="pricing.html">Pricing</a></li>
</ul>
</li>
最佳答案
好。没有HTML,很难说。但是,当用户单击li时,您将停止浏览器的默认行为(因此也将终止其子级,我认为这是锚/链接)。
您可以检查其是否为链接或点击锚点,并以其他方式处理它;
$("ul.sf-menu li.i").click(function(e) {
if (e.target.nodeName!=="A"){
e.preventDefault();
//do your hover code
}
else{
//do nothing, because the user wants the link to load
}
});
关于javascript - iPad悬停事件jQuery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12797627/