Si utiliza Modernizr, es muy fácil de usar Modernizr.touch
como se mencionó anteriormente.
Sin embargo, prefiero usar una combinación de Modernizr.touch
y pruebas de agente de usuario, solo para estar seguro.
var deviceAgent = navigator.userAgent.toLowerCase();
var isTouchDevice = Modernizr.touch ||
(deviceAgent.match(/(iphone|ipod|ipad)/) ||
deviceAgent.match(/(android)/) ||
deviceAgent.match(/(iemobile)/) ||
deviceAgent.match(/iphone/i) ||
deviceAgent.match(/ipad/i) ||
deviceAgent.match(/ipod/i) ||
deviceAgent.match(/blackberry/i) ||
deviceAgent.match(/bada/i));
if (isTouchDevice) {
//Do something touchy
} else {
//Can't touch this
}
Si no se utiliza Modernizr, sólo tiene que reemplazar la función Modernizr.touch
anterior con ('ontouchstart' in document.documentElement)
También tenga en cuenta que las pruebas de la aplicación del usuario iemobile
le dará más amplia gama de dispositivos móviles de Microsoft detectado que Windows Phone
.
Also see this SO question
Obras para el iPhone, pero ¿qué pasa con los androides, moras, Symbians, WebOS ...? – Esko
@Esko ver actualización – mplungjan
no funciona para mí! – fingerup