Mobile browsers will still respond to click events, though they will introduce a delay (usually around 300 ms). If you want a more responsive experience, you can try to detect if you are on a mobile platform and use either touchstart
or touchend
events. I find touchend
is usually a better experience, mainly because the user's hand is still in the way when touchstart
fires.
Something like this:
$(element).on(isMobile ? 'touchend' : 'click', function(e) {...});
Or you can use hammer.js, which will work for both desktop and mobile.
As for testing, you can read through the answers to this Stackoverflow question: Simulating touch events on a PC browser.