Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jquery click event for tablets and touch screen phones

Ok, I am fairly new to web development for mobile/tablet platforms. I am pretty confident though in developing for a browser environment.

My problem is that I don't own any tablet (I am poor so have to fly blind) so it's hard for me to do testing. I'm also quite anxious about the click events not working properly.

How can I ensure that click and mousedown jquery events work on tablets/smartphones correctly?

Is there any consensus on best practice for click events and tablets/smartphones?

Note: I am not developing a mobile only site - the site transforms shape for mobile.

like image 879
Amy Neville Avatar asked Jun 12 '13 15:06

Amy Neville


1 Answers

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.

like image 51
cfs Avatar answered Oct 07 '22 19:10

cfs