Detectar si el browser / dispositivo admite events de doble clic.

Tengo una tabla que contiene varias filas. Cada fila se puede seleccionar haciendo clic una vez en la fila. Al hacer doble clic en la fila se abre la hoja de datos que representa la fila en la misma window.

Cuando utilizo un dispositivo mobile, el doble clic (doble toque?) No activa mi evento de doble clic, y el browser mobile solo hace zoom.

Después de pensarlo un poco, creo que tiene más sentido que los dispositivos mobilees abran la hoja de datos con un solo clic / toque de todos modos.

En este momento estoy detectando si se trata de un browser de dispositivo mobile, al configurar el detector de events para la tabla, con este código:

if( /Android|webOS|iPhone|iPad/i.test(navigator.userAgent) ) { // Single click event bind, open } else { // Single click event bind, select // Double click event bind, open } 

En lugar de confiar en el agente de usuario, preferiría hacer alguna detección de características, por lo que cualquier dispositivo que no pueda hacer un doble clic funcione.

Intenté detectar si el evento dblclick está disponible en mi dispositivo Android, y lo es.
Supongo que esto tiene sentido, ya que el browser lo admite, pero el dispositivo solo activa un evento diferente cuando se toca dos veces.

La única otra cosa que podría encontrar es comprobar si los events touchstart etc. están disponibles, pero eso parece tan erróneo como comprobar el agente de usuario.

¿Hay alguna buena forma de detectar si el browser / cliente admite dos clics como se esperaba?

Tal vez trate de usar un time de espera para comprobar si hay otro clic después del primer clic

 $(Elm).click(function(evnt){ clicks++; if (clicks == 1) { setTimeout(function(){ if(clicks == 1) // Single click event bind, open else // Double click event bind, open },2000); });