添加CSS类时的jQuery问题

时间:2011-07-26 13:28:34

标签: javascript jquery html css ipad

我有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()

请帮帮我。谢谢。

2 个答案:

答案 0 :(得分:2)

iPad中没有悬停事件。

请记住,您正在处理触摸屏设备 - 没有鼠标,因此不支持鼠标移动事件。相反,谷歌周围的“ipad触摸事件”。

说到这一点,你可以听一些触摸事件,这些事件等同于简单的鼠标事件,如mousedown,mousemove和mouseup。查看jQuery Touch Punch plugin,它将触摸事件映射到其中一些基本鼠标事件。

答案 1 :(得分:0)

尝试使用touchstart事件附加您的live函数,如下所示:

$("#leftNav  a.subLinks").live("hover touchstart",function(){ ... ]);