le déclenchement manuel d'événement tactile

J'ai cherché pour les 30 dernières minutes, mais n'a pas trouvé une solution.

Je veux déclencher une touchstart événement sur un élément.

Il déclenche l' touchstart événement:

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);

Remarque que les variables sont définies par ma fonction

Mais il y a un problème avec ça. Le event objet ne possède pas un touches de la propriété. Donc quelque chose comme cela ne fonctionne pas:

var touch = e.touches[0];

Est-il un moyen de déclencher une touchstart événement manuellement (il devrait fonctionner sur Android >= 4.0 et de Chrome avec une touche activée [DevTools]) ?

Veuillez noter, que je ne veux PAS utiliser un framework comme jQuery. Avec jQuery, il est facile de créer un touchevent sur un élément 😉

  • Juste pour la santé mentale, pourquoi avez-vous besoin pour générer un événement?
  • Eh bien, disons que j'ai un conteneur. Ce conteneur a de nombreux sous-conteneur qui sont cachés. Quand je touche sur ce conteneur, un sous-conteneur devient visible, et tant que je touche le conteneur, je devrais être en mesure de déplacer le sous-conteneur par un déplacement de mon doigt. Alors, quand je touche le conteneur, un touchstart événement doit être créé sur le sous-conteneur.
  • Cela sonne comme quelque chose qui devrait être assez facile à faire sans truquer les événements. Si votre modèle ne sait sur le conteneur de dépendance, vous pouvez contrôler tous à partir de la seule origine de l'événement.
  • Eh bien, c'est un peu plus compliqué et je ne peux pas le faire à votre manière :/ j'ai pour le faux de l'événement...
InformationsquelleAutor AndreM96 | 2013-08-05