2011-04-19 6 views
8

Estoy intentando disparar eventos táctiles en mi javascript para simular las interacciones del usuario con el fin de probar las funciones. He intentado el siguiente fragmento:¿Cómo crear y activar eventos táctiles en un navegador habilitado con el toque?

try { 
    var targetElement = document.elementFromPoint(55, 155); 
    console.log(targetElement); 
    var evt = document.createEvent('UIEvent'); 
    evt.initTouchEvent('touchstart', true, true); 

    evt.view = window; 
    evt.altKey = false; 
    evt.ctrlKey = false; 
    evt.shiftKey = false; 
    evt.metaKey = false; 

    targetElement.dispatchEvent(evt); 
} catch (except){ 
    alert(except); 
} 

El código anterior produce la excepción 'TypeError: Resultado de la expresión 'evt.initTouchEvent [Indefinido]' no es una función.

¿Alguien puede señalar lo que estoy haciendo mal?

Respuesta

9

Según w3c touch spec, TouchEvent es una subclase de UIEvent. Trate de crearla como:

var evt = document.createEvent('TouchEvent'); 
+0

intentado y sigue siendo la misma excepción. El objeto UIEvent _se crea_ ya sea que use el singular o el plural. – prk

+0

@Ashu He editado el archivo. – vbence

+0

No tengo un dispositivo para probarlo ahora mismo. Se probará y actualizará mañana. – prk

5

cambio:

evt.initTouchEvent('touchstart', true, true); 

a:

evt.initUIEvent('touchstart', true, true); 

trabajó para mí con el cromo nightly build

Cuestiones relacionadas