Проблема с jQuery при добавлении класса CSS - PullRequest
0 голосов
/ 26 июля 2011

У меня 5 подлинков, которые имеют 2 состояния; hover (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 ]

2 голосов
/ 26 июля 2011

В iPad нет события парения.

Помните, что вы имеете дело с устройством с сенсорным экраном - мыши нет, поэтому события движения мыши не поддерживаются. Вместо этого, Google вокруг "ipad Touch Events".

С учетом сказанного вы МОЖЕТЕ прослушивать некоторые сенсорные события, которые эквивалентны простым событиям мыши, таким как mousedown, mousemove и mouseup. Проверьте плагин jQuery Touch Punch , который отображает события касания на некоторые из этих основных событий мыши.

0 голосов
/ 26 июля 2011

Попробуйте добавить свою живую функцию к событию touchstart, например:

$("#leftNav  a.subLinks").live("hover touchstart",function(){ ... ]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...