2012-05-08 10 views
7

come Stati Mozilla nella pagina TouchEvent:Ottenere oggetto DOM corrente TouchMove o touchend è di oltre

obiettivo della manifestazione è lo stesso elemento che ha ricevuto l'evento TouchStart corrispondente al punto di contatto, anche se il tocco il punto ha spostato all'esterno di quell'elemento.

Questo non è lo stesso di mousemove e mouseup, in cui l'obiettivo è in realtà l'elemento DOM su cui si trova il mouse.

Qual è il modo migliore, senza utilizzare alcuna libreria, per ottenere l'elemento su cui si verifica l'evento touchmove o touchend?

risposta

6

Leggere le coordinate (pageX e pageY) dall'oggetto evento. Quindi utilizzare document.elementFromPoint(x, y) per ottenere l'elemento superiore in quella posizione.

+1

'pageX' e' pageY' sono proprietà di un oggetto ['Touch'] (https://developer.mozilla.org/en/DOM/Touch), che è un elemento in una' TouchList', che è la proprietà ['TouchEvent.touches'] (https://developer.mozilla.org/en/DOM/TouchEvent.touches). –

+2

... che non esiste in alcuni browser (ad esempio chrome per Android). –

Problemi correlati