2011-11-25 24 views
5

Necesito detectar al usuario "presionar con el dedo", ya existe el evento "tap", pero tap = press + release.jQuery Mobile: captura el evento "finger down"

Necesito llamar a una función JS exactamente en la prensa digital, exactamente como lo hace keypress() para navegadores estándar.

Respuesta

7

Hay un par de eventos de ese hecho.

Son vmousedown y taphold.

se puede encontrar una referencia completa sobre ellos en este enlace:

http://jquerymobile.com/demos/1.0/docs/api/events.html

Básicamente, el marco jQuery Mobile mapas de los principales eventos del navegador de interfaz de usuario "tradicionales" como prefijo con una "V".

Esto es para indicar que se trata de eventos "virtuales", ya que de este modo puede detectar eventos provenientes de dispositivos estándar (es decir, no táctiles) e incluso táctiles.

Por lo que podría instalar un controlador para un evento vmousedown con:

$('#your-element-id').live('vmousedown', function() { alert("Hello") }); 

taphold, en cambio, es bastante diferente: el evento se activa cuando un evento de toma completo se lleva a cabo con una duración de casi un segundo o Más.

Puede jugar rápidamente con estos dos eventos para comprender cuál se ajusta mejor a sus necesidades.