Wie kommunizieren touch-Events untereinander?
Dietrich
- javascript
Moin, Dietrich hier nochmal!
Bin ja mal etwas verwirrt was die Touch-/ bzw. PointerEvents betrifft. Siehe auch hier.
Habe mal mehrere Elemente, die ich über andere Elemente (nennen wir sie mal "Empfängerelemente") ziehen kann.
Mit anderen Worten: das touchend
Event muss vom touchmove
Event mitgeteilt bekommen, welches Empfängerelement angesteuert wurde.
Kann das Empfängerelement in keiner globalen Variable [außerhalb des Scopes der von touchmove
aufgerufenen Funktion] speichern, da im Gegensatz zu Klick-Benutzerszenarien bei Touch
Events mehrere Elemente gleichzeitig aktiv sein können.
let functionTouchMove = (e) => {
e.preventDefault();
e.target.style.top = e.touches[0].clientY + "px";
e.target.style.left = e.touches[0].clientX + "px";
if (/* Script: Test, ob Element über einem Empfängerelement*/) {
let Empfaengerelement = Empfaengerelement;
}
};
let functionTouchEnd = (e) => {
e.preventDefault();
Empfaengerelement // Uncaught ReferenceError: Empfaengerelement is not defined
// Ja und nu?
};
Besten Gruß aus dem nach wie vor sonnigen Norden!
Dietrich
Hallo Dietrich,
so richtig habe ich dein Problem nicht verstanden, aber vielleicht hilft dir dieses Tutorial.
Gruß
Jürgen
Ja ne, ist klar
aber wie kann ich der von touchend
aufgerufenen Funktion verklickern, welches Empfängerelement die von touchmove
aufgerufene Funktion jeweils registriert hat?
Hallo,
Ja ne, ist klar
offensichtlich nicht.
aber wie kann ich der von
touchend
aufgerufenen Funktion verklickern, welches Empfängerelement die vontouchmove
aufgerufene Funktion jeweils registriert hat?
indem du das Element, das bewegt wird, speicherst, aber nicht in einer lokalen Variablen im Eventhandler, sondern etwas globaler, also außerhalb des Eventhandlers. Im Tutorial habe ich das ganze Script in den DOMContentLoaded-Eventhandler gelegt, und konnte so globale Variablen vermeiden.
Aber das, was du da machst, sieht irgendwie nach Drag & Drop aus. Hast du dir auch mal dieses Tutorial, das das Drag and Drop-Api behandelt, angesehen?
Gruß
Jürgen