Ich habe am specification suchen, die 4 Touch-Ereignisse aus dem touchEvent
Objekt erben, die 3 Liste atributes die alle berührt, die Informationen hat etwa (jeder Finger auf dem Bildschirm) zum Zeitpunkt der Ereignis, jede Liste speichert Berührungen basierend auf diesem Kriterium:
changedTouches
: Speichert Berührungen, die außerhalb der Zielelementoberfläche liegen.
touches
: Speichert alle aktuellen Berührungen.
targetTouch
: Speichert alle aktuellen Berührungen innerhalb der Oberfläche des Zielelements.
Das Ereignis touchend speichert die Position, an der der Finger bei changedTouches
angehoben wurde, und das Nichts wird in einer der anderen Listen gespeichert. Wenn Sie darauf zugreifen müssen, verwenden Sie event.changedTouches[event.changedTouches.length-1]
, dies gibt ein Touch-Objekt mit pageX und zurück pageY-Attribute für Koordinaten.
Die ganze Linie wäre:
span.innerHTML = event.changedTouches[event.changedTouches.length-1].pageX;
Was habe ich nicht in der Lage gewesen, noch zu verstehen, wenn nicht gibt es atributes im
touchEvent
Objektkoordinate, warum bekommt man sie bei Berührungsstart und Berührungsbewegungsereignisse zu verwenden, und nicht mit Touchend. Vielleicht hat die Implementierung diese Abkürzung hinzugefügt, oder ich habe es übersehen.
War es so einfach? Vielen Dank! Warum funktioniert es ohne 'mousemove' auf' mouseup'? – Rikard
Das weiß ich nicht. Und ich hätte geahnt, dass touchend Event die Position enthalten hat, wo es endete, aber vielleicht gibt es Eckfälle, wo es nicht möglich ist zu geben, wie wenn die Berührung den Bereich verlässt (nicht möglich, den Wert des ** explizit anzugeben) aktuell **, auch wenn das vorherige bekannt war). 'mouseup' ist dann wieder * immer * innerhalb des Bereichs und' mouseout' wird verwendet wenn der Bereich verlassen wird. – adrenalin
Macht Sinn. Danke nochmal! – Rikard