You can bind multiple events in one call like this:
$('selector').bind('click tap',function(){ ... })
This might be fine in some browsers/mobiles, however, this might make the events fire twice on some devices who trigger both the tap and click.
You can fix this by doing some kind of device/feature detection and adding the appropriate handler only like this...
$('selector').bind( myCustomDetectionFunction() ? 'click' : 'tap' ,function(){ ... })
Additionally, I think touchstart
and mousedown
are better events to choose. This is because, after a touch, the click event does not fire until a delay has passed, as the system is allowing the chance for a second touch to make it a double click or for it to become a swipe gesture and so on. The touchstart
event fires immediately, as does mousedown
so should be more responsive.