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


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

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

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

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

4 37

4 ответа:

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

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

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

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

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

Извините, что поднимаю старую почту, но для всех, кто работает над jQuery с Phonegap:

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

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

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

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

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

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