我有5个子链接,有2个状态;悬停(CSS className:subLinks
)和活动(CSS ClassName:subLinksClicked
)
我在页面就绪时调用以下函数;
$(document).ready(function(){
if (navigator.userAgent.match(/iPad/i) != null)
{
$("#leftNav a.subLinks").live("hover",function(){
$("#leftNav a.subLinks").removeClass("subLinksClicked");
$(this).addClass("subLinksClick");
clickEvent($(this));
});
}
}
现在iPad上存在问题...基本上点击每个子链接都有一个AJAX调用,这种删除所有这些链接然后重写作为响应的一部分......由于某种原因之后,如果我点击另一个子链接,活动类就不会从上一个链接中删除..
我希望这会发生,因为我使用了jQuery.live()而不仅仅是jQuery.bind()
请帮帮我。谢谢。
答案 0 :(得分:2)
iPad中没有悬停事件。
请记住,您正在处理触摸屏设备 - 没有鼠标,因此不支持鼠标移动事件。相反,谷歌周围的“ipad触摸事件”。
说到这一点,你可以听一些触摸事件,这些事件等同于简单的鼠标事件,如mousedown,mousemove和mouseup。查看jQuery Touch Punch plugin,它将触摸事件映射到其中一些基本鼠标事件。
答案 1 :(得分:0)
尝试使用touchstart事件附加您的live函数,如下所示:
$("#leftNav a.subLinks").live("hover touchstart",function(){ ... ]);