Ho cercato negli ultimi 30 minuti, ma non ho trovato una soluzione.attivazione manuale evento touch
Voglio attivare un evento touchstart
su un elemento.
Questo genera l'evento touchstart
:
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);
Si noti che le variabili sono definite dalla mia funzione di
Ma c'è un problema con questo. L'oggetto event
non ha una proprietà touches
. Quindi, qualcosa come questo non funzionerà:
var touch = e.touches[0];
Esiste un modo per attivare manualmente un evento touchstart
(dovrebbe funzionare su Android> = 4.0 e Chrome con touch abilitata [DevTools])?
Si prega di notare che NON voglio utilizzare alcun framework come jQuery. Con jQuery è facile creare un touchevent
su un elemento;)
Solo per la sanità mentale, perché è necessario generare un evento? – Halcyon
Bene, diciamo che ho un contenitore. Questo contenitore ha molti sottocontenitori che sono nascosti. Quando tocco questo contenitore, diventa visibile un sottocontenitore e fintanto che tocco il contenitore, dovrei essere in grado di spostare il sottocontenitore muovendo il dito. Quindi, quando tocco il contenitore, dovrebbe essere creato un evento "touchstart" sul sottocontenitore. – AndreM96
Sembra qualcosa che dovrebbe essere abbastanza facile da fare senza falsificare gli eventi. Se il tuo modello conosce la dipendenza del contenitore, puoi controllare tutto dal singolo evento originale. – Halcyon