Мобильные устройства и задержка в 300 милисекунд
Каждый день мы пользуемся мобильными телефонами для доступа в интернет. В связи с этим значительно выросло количество веб-аппов, которые похоожи на нативные приложения.
При разработке таких веб-приложений часто возникает множество вопросов. Один из самых важных – задержка между нажатием на какую-либо ссылку и срабатыванием события click
. И чем больше устройств выходит на рынок, тем более острым становится этот вопрос. Если для Android и iOS просто необходимо было обрабатывать события на touchstart, touchmove, touchend
, то с выходом новой Windows Mobile появились MSPointer events
.
В данный момент существует большое количество решений этой проблемы. Однако Илья pukhalski Пухальский, с моей посильной помощью (очень маленькой), написал библиотечку tap
, которая просто добавляет к стандартным событиям в JavaScript новое событие tap
.
Теперь, подключив эту библиотеку, можно вешать обработчики на событие tap
и все будет работать быстро и красиво.
Вот пример для Vanilla JS:
document.getElementById('any-element').addEventListener('tap', function (e) {
// All the magic happens here
});
А вот для Jquery:
$('#any-element').on('tap', function (e) {
// All the magic happens here
});
Посмотреть и скачать можно здесь: github.com/pukhalski/tap. Там же примеры для Zepto, Dojo, YUI, ExtJS.