Ich suchte die letzten 30 Minuten, fand aber keine Lösung.manuell Touch-Ereignis auslösen
Ich möchte ein touchstart
Ereignis für ein Element auslösen.
Dieses löst das touchstart
Ereignis:
var e = document.createEvent('MouseEvent');
e.initMouseEvent("touchstart", true, true, window, 1, screenX, screenY, clientX, clientY,
ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget);
target.dispatchEvent(e);
Beachten Sie, dass die Variablen durch meine Funktion
definiert sind, aber es gibt ein Problem. Das Objekt event
verfügt nicht über eine touches
Eigenschaft. So etwas wie das wird nicht funktionieren:
var touch = e.touches[0];
Gibt es eine Möglichkeit, ein touchstart
Ereignis auslösen manuell (es sollte auf Android funktionieren> = 4.0 und Chrome mit Touch-fähigen [DevTools])?
Bitte beachten Sie, dass ich kein Framework wie jQuery verwenden möchte. Mit jQuery es ist einfach, ein touchevent
auf ein Element zu erstellen, wie Sie)
Nur für Vernunft, warum müssen Sie ein Ereignis generieren? – Halcyon
Nun, lassen Sie uns sagen, dass ich einen Container habe. Dieser Container hat viele Untercontainer, die versteckt sind. Wenn ich diesen Behälter berühre, wird ein Unterbehälter sichtbar, und solange ich den Behälter berühre, sollte ich den Unterbehälter bewegen können, indem ich meinen Finger bewege. Wenn ich also den Container berühre, sollte ein 'Touchstart'-Event auf dem Subcontainer erstellt werden. – AndreM96
Das klingt nach etwas, das ziemlich einfach sein sollte, ohne Ereignisse zu fälschen. Wenn Ihr Modell die Containerabhängigkeit kennt, können Sie alle über das einzelne ursprüngliche Ereignis steuern. – Halcyon