I am developing an app that runs on Android/iOS and desktop computers.
Should I use the click
or the tap
event?
What are the differences between them?
Will the 'tap' work on desktop? if not, (and I have to use click
) am I missing any advantages that the tap
has over the click
?
Tap usually refers to a physical action like tapping your finger on a screen. (e.g. iPad) Click would be when you use a mouse, to click on a link/image. (e.g. Desktop computer.)
An element receives a click event when a pointing device button (such as a mouse's primary mouse button) is both pressed and released while the pointer is located inside the element.
When a visitor clicks on an image the click event will be triggered. However when someone touches the image, that same click event will be triggered, even if a touchstart event is available as well.
You can use .on()
to bind a function to multiple events:
$('#element').on('click tap', function() { ... });
Thanks to @bergie3000 for pointing to this
Touch events and mouse events are entirely different beasts. They are not interchangeable.
That said, I'm using jQuery Touch Punch which maps touch events to their mouse event analogs, so a tap becomes the same thing as a click. This makes it possibly to use all the standard jQuery UI goodness without having to do any special touch event programming. It's extremely simple to use, and so far has worked perfectly for me on both iDevices and Android.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With