Не срабатывает событие click на iPad и iPhone (iOS)
При разработке сайтов с использованием jQuery, на устройствах с операционной системой iOS (в частности браузер Safari), может возникнуть проблема с обработкой события click, из-за чего владельцам iPhone и iPad будет не доступна часть функционала сайта.
Решить эту проблему можно несколькими способами
Способ 1. Вместо события click, на этих устройствах нужно обрабатывать событие touchstart.
Вот пример реализации этого способа:
var iOS = navigator.userAgent.match(/iPhone|iPad|iPod/i);
var event = "click";
if(iOS != null)
event = "touchstart";
$(function() {
$(document).on(event, ".element_class", function(e) {
//действия
});
});
Минусом является то, что может не работать прокрутка страницы.
Способ 2. Чтобы срабатывало событие click на iOS, нужно чтобы у элементов присутствовал атрибут onclick. Значение этого атрибута может быть пустым.
<div class="element_class" onclick=""></div>
Способ 3. Самый простой вариант, добавить для элемента CSS-свойство cursor со значением pointer.
.element_class{
cursor: pointer;
}
Материалы по теме
При разработке лендингов (Landing Page) довольно часто можно увидеть плавный скролл (прокрутку) к блокам или элементам страницы. Так же, практически на любом сайте можно встретить зафиксированную на странице кнопочку, при клике на которую пользователь быстро возвращается в начало страницы. Сейчас мы и рассмотрим как делаются такие навороты.