В чем разница между событиями click и tap?

я разрабатываю приложение, которое работает на Android / iOS и настольных компьютерах.

должен ли я использовать click или tap событие?

в чем разница между ними?

будет ли "кран" работать на рабочем столе? если нет, (и я должен использовать click) я упускаю какие-либо преимущества, которые tap на click?

4 ответов


сенсорные события и события мыши-совершенно разные звери. Они не взаимозаменяемы.

Что сказал, я использую jQuery Touch Punch который сопоставляет события касания с их аналогами событий мыши, поэтому нажатие становится тем же самым, что и щелчок. Это позволяет использовать все стандартные jQuery UI goodness без необходимости специального программирования событий касания. Он чрезвычайно прост в использовании, и до сих пор отлично работал для меня на обоих iDevices и Android.


можно использовать .on() чтобы привязать функцию к нескольким событиям:

$('#element').on('click tap', function() {
    ...
});

спасибо @bergie3000 за указание на этой


извините за поднятие старого сообщения, но для всех, кто работает над jQuery с Phonegap:

событие"click "не будет инициировано, если назначено на" div"," p " и т. д. элементы, которые не должны были быть нажаты, когда " tap " делает его отлично работающим на любом элементе! Мне потребовалась целая вечность, чтобы это заметить.

Заключение, Если вы разрабатываете что-то с jQuery mobile, я бы предложил использовать "tap" вместо "click", так как это может вызвать некоторые проблемы


Я бы посмотрел в документацию jQM для событий, текущие документы здесь:

для мобильного устройства используйте события касания, если вам нужны события мыши, то jQM обеспечивает события виртуальной мыши для этого также.

события виртуальной мыши
мы предоставляем набор "виртуальных" событий мыши, которые пытаются абстрагироваться от мыши и касания события. Этот позволяет разработчику регистрировать прослушиватели для основных событий мыши, такие как mousedown, mousemove, mouseup и нажмите, и плагин будет позаботьтесь о регистрации правильных слушателей за кулисами, чтобы вызвать слушателя в кратчайшие сроки для этого устройства. В сенсорные среды, плагин сохраняет порядок запуска событий, что виден в традиционных средах мыши, так, например, vmouseup всегда отправляется перед vmousedown и vmousedown прежде чем vclick, так далее. События виртуальной мыши также нормализуют координацию информация извлекается из события, поэтому в touch на основе среды, координаты доступны из pageX, pageY, свойства screenX, screenY, clientX и clientY, непосредственно на объект события.

Я не говорю, что событие "click" не будет работать, как это все еще делает, например, вы можете нажать кнопку. Но там будут разные события для мобильных устройств стихи настольных компьютеров