Событие jquery click для планшетов и телефонов с сенсорным экраном

Хорошо, я новичок в веб-разработке для мобильных/планшетных платформ. Хотя я довольно уверен в разработке для среды браузера.

Моя проблема в том, что у меня нет планшета (я беден, поэтому мне приходится летать вслепую), поэтому мне сложно проводить тестирование. Я также очень беспокоюсь о том, что события кликов не работают должным образом.

Как я могу убедиться, что события jquery click и mousedown правильно работают на планшетах/смартфонах?

Есть ли какой-либо консенсус в отношении лучших практик для событий кликов и планшетов/смартфонов?

Примечание. Я не разрабатываю сайт только для мобильных устройств — сайт трансформируется для мобильных устройств.


person Amy Neville    schedule 12.06.2013    source источник
comment
Вы могли бы использовать это: $(element).on('touchstart click', function(){...});.   -  person Joe    schedule 12.06.2013
comment
Эмуляторы в помощь? webdesignerdepot.com/2012 /11/   -  person WeaklyTyped    schedule 12.06.2013
comment
@Joe, у меня такая же проблема, когда onclick не работает на планшете, если использовать .on и что-то распечатать, тогда это работает. Alert, я пытался выполнить замену с помощью cosole.log, но этот onclick не работает с этим.   -  person anam    schedule 13.06.2013
comment
Мне нужно было перейти на jQuery 1.7, чтобы заставить код Джо работать. После этого он работал на моем телефоне даже без touchstart.   -  person Parag    schedule 14.09.2014


Ответы (1)


Мобильные браузеры по-прежнему будут реагировать на события кликов, хотя и будут вводить задержку (обычно около 300 мс). Если вам нужен более быстрый отклик, вы можете попробовать определить, используете ли вы мобильную платформу, и использовать события touchstart или touchend. Я считаю, что touchend обычно удобнее, в основном потому, что рука пользователя все еще находится на пути, когда touchstart срабатывает.

Что-то вроде этого:

$(element).on(isMobile ? 'touchend' : 'click', function(e) {...});

Или вы можете использовать hammer.js, который будет работать как на ПК, так и на мобильных устройствах.

Что касается тестирования, вы можете прочитать ответы на этот вопрос Stackoverflow: Имитация сенсорных событий в браузере ПК.

person cfs    schedule 12.06.2013