jQuery, iPad (iOS) и событие click



При разработке одного веб-приложения с использованием jQuery бывает, что часть функционала не работает на iPad. В частности не срабатывает событие «click». Сперва гугл привел на хабрахабр и stackoverflow, где предлагалось одно и тоже решение — использование события «touchstart» на iPad вместо «click»:
var ua = navigator.userAgent,
event = (ua.match(/iPad/i)) ? "touchstart" : "click";

$("#theElement").bind(event, function() {
     // jquery code
}
Спустя некоторое время удалось найти правильное и очень простое решение. Оказалось, что для нормальной работы события click на iOS элементы, не являющиеся ссылками, на которые навешивается обработчик события click, должны иметь атрибут «onClick» (его значение может быть пустым)
<span onClick="" id="theElement"></span>
Еще как возможное решение, добавление элементу стиля
span {
cursor:pointer;
}
 

Comments

    No results found.