В чем разница между событиями click и tap?
Я разрабатываю приложение, которое работает на Android / iOS и настольных компьютерах.
Должен ли я использовать событие click
или tap
?
Будет ли "кран" работать на рабочем столе? если нет, (и я должен использовать click
), не упускаю ли я каких-либо преимуществ, которые tap
имеет над click
?
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" не будет работать, как это все еще происходит, например, вы можете нажать кнопку. Но для мобильных устройств и настольных компьютеров будут разные события