erhält Touchstart-Koordinate für das aktuelle Element

8

Ich habe also ein Element, das so aussieht:

%Vor%

Ich habe einen Touchstart-Listener angehängt, so:

%Vor%

Was ich tun möchte, und ich habe bereits die Werte von "e" durchgesehen, aber ich kann keinen Wert finden, der konsistent genug ist (Werte scheinen mir nicht richtig zu sein, wenn ich sie versuche), was ich tue will.

Ich kenne die Größe dieser Zeilen. Ich möchte nur die Y-Koordinate der Stelle, an der das Touchstart-Ereignis ausgelöst wurde, nehmen können, wobei 0 die obere Koordinate des Elements ist. Auf diese Weise gibt Math.floor (y / ROW_SIZE) die Zeile an, in der das Touchstart-Ereignis gestartet wurde.

    
h4lc0n 23.01.2013, 12:11
quelle

2 Antworten

10

Sie müssen auf diese Weise zugreifen.

%Vor%

Die Nummer berühren und berühren Informationen können über e.touches zugreifen.

Sehen Sie sich diese FAQ an.

Wie erhalten Sie die x / y-Koordinaten in Berührungsereignissen?

Hier ist das Touch-Ereignis Dokumentation .

Übrigens werden Ereignisse x / y-Koordinaten nur relativ zum Fenster zurückgeben. Das können wir nicht ändern. was kannst du tun? top= 0 - element.top; x= clientx-top.

    
BalaKrishnan웃 23.01.2013, 13:32
quelle
1

Es ist besser, die Methode getBoundingClientRect() zu verwenden, um top & amp; linke Werte eines Elements.

Der obige Ansatz, element.top , gibt möglicherweise nicht top & amp; belassen Werte relativ zum Ansichtsfenster, wenn das Element in einem anderen Container ist.

Um die Berührungskoordinaten relativ zum Element zu berechnen, können wir wie folgt vorgehen.

%Vor%

Um mehr über die Methode getBoundingClientRect() zu erfahren, klicken Sie hier .

    
Venkat 01.03.2016 01:11
quelle

Tags und Links