is there any nice and clean method or trick to find out if the user is on a touch-device or not?
I know there is stuff like
var isiPad = navigator.userAgent.match(/iPad/i) != null;
but I simply wonder if there is a trick to generally determine if the user is on Touch device? Because there are a lot more touch devices and tablets out there then just iPads.
thank you.
You can use the following JS function:
function isTouchDevice() {
var el = document.createElement('div');
el.setAttribute('ongesturestart', 'return;'); // or try "ontouchstart"
return typeof el.ongesturestart === "function";
}
Source: Detecting touch-based browsing.
Please note the above code only tests if the browser has support for touch, not the device.
Related links:
There may be detection in jquery for mobile and jtouch