2012-05-08 9 views
7

jak twierdzi Mozilla na stronie TouchEvent:Uzyskiwanie bieżący DOM obiekt, który touchmove lub touchend jest ponad

cel imprezy jest taki sam element, który otrzymał zdarzenie touchstart odpowiadającego punktu dotyku, nawet jeśli dotyk punkt ma przeniesiony poza ten element.

To nie jest to samo, co mouse mouse i mouseup, gdzie celem jest tak naprawdę element DOM, w którym znajduje się mysz.

Jaki jest najlepszy sposób, bez korzystania z jakiejkolwiek biblioteki, aby uzyskać element, który dotyczy zdarzenia touchmove lub touchend?

Odpowiedz

6
Odczytać współrzędne ( pageX i pageY) z obiektu zdarzenia. Następnie użyj document.elementFromPoint(x, y), aby uzyskać najwyższy element w tej pozycji.
+1

'pageX' i' pageY' są właściwościami obiektu ['Touch'] (https://developer.mozilla.org/en/DOM/Touch), który jest elementem w' TouchList', który jest właściwość ['TouchEvent.touches'] (https://developer.mozilla.org/en/DOM/TouchEvent.touches). –

+2

... która nie istnieje w niektórych przeglądarkach (np. Chrome na Androida). –

Powiązane problemy