На моем веб-сайте есть «Справочные документы» для моего приложения для iPhone, которые пользователи видят в UIWebView из моего приложения. Это демонстрирует странное поведение. Приведенный ниже код отлично работает на настольных Safari и Firefox, но не на мобильных Safari. Вы можете увидеть страницу здесь: Моя страница поддержки
Меню справки - это положение: абсолютное и «прикрепленное» к вершине с помощью некоторых методов в Интернете. В коде используются все методы, которые я могу найти для запуска jQuery, такие как пустой onclick = "", cursor: указатель на элемент. и т. д. Это работает в первый раз, но не будет прокручиваться до СЛЕДУЮЩЕЙ вещи, к которой пользователь прикасается, если вы не прокрутите страницу вручную.
Есть и другие похожие вопросы по стеку, но ни одно из предложений не работает для меня. Какие-нибудь мысли. Это мой код jQuery.
$(".help-menu-list-item").on( "click", function(e) {
$(".help-menu td").removeClass("selected");
$(this).addClass("selected");
$("html, body").animate(
{scrollTop: $(".help-item-anchor"+"."+$(this).attr('id')).offset().top}, 'slow'
);
});
ПРИМЕЧАНИЕ. Я НЕ ДУМАЮ, что это проблема scrollTop. Кажется, это проблема получения кликов. Если я добавлю jquery alert () в приведенный выше блок jquery, он не сработает, если сначала немного не прокрутить страницу вручную. Итак ... это проблема срабатывания события щелчка ... НО Я ПОПРОБОВАЛ многие приемы, чтобы получить срабатывание события щелчка. Не можете понять, почему они будут стрелять в первый раз, но не снова, пока не произойдет ручная прокрутка?
Я вырвал все липкие меню на основе jQuery и использовал поддержку iOS 5 для:
положение: абсолютное
вместе с:
-webkit-переполнение прокрутки: сенсорный;
... Это дает намного более простой код для получения фиксированного меню, расположенного вверху, но jQuery выше STILL имеет ту же проблему .... Я получаю событие первого нажатия, но НЕ те, которые после прокрутки до позиции если пользователь не прокручивает страницу вручную.
ТАК ... это jQuery или iOS ??