Comment est document.createEvent censé travailler avec les principaux événements?
Je suis en essayant de simuler les touches utilisées dans une application web, c'est pour un système embarqué, mais il utilise un Webkit dérivé du navigateur. J'ai testé le code de Chrome et d'obtenir la même erreur.
J'ai essayé d'utiliser des extraits de code de cet exemple de Yahoo, mais je reçois le même message d'erreur lors de la cuisson à l'aide de dispatchEvent. "cible" est un élément HTML dans l'arborescence DOM.
function fireEvent(target) {
var evt = document.createEvent("UIEvent");
evt.initEvent("keypress", true, true);
target.dispatchEvent(evt);
}
Il jette toujours "Erreur: UNSPECIFIED_EVENT_TYPE_ERR: DOM Événements d'Exception 0", j'ai essayé de createEvent("Événements"), et il revient toujours à la même exception. À la fois sur le embeded système et en Chrome.
C'est l'appel au
UIEvents, pas UIEvent.
dispatchEvent
manque le evt
paramètre?UIEvents, pas UIEvent.
OriginalL'auteur Ernelli | 2010-10-15
Vous devez vous connecter pour publier un commentaire.
Ok, quand on fait d'autres tests, il semble que lorsque tous les principaux paramètres d'événement a été correctement initialisé, puis dispatchEvent travaillé sans fireing une exception.
Le code suivant fonctionne.
OriginalL'auteur Ernelli
Keypress est un
UIEvent
. Vous devez utiliserinitUIEvent( 'type', bubbles, cancelable, windowObject, detail )
plutôt queinitEvent()
. Mais pour firefox, qui met en œuvrekeyEvents
, vous devez créer unKeyEvents
etinitKeyEvents()
.OriginalL'auteur Nicole Hu
C'est un vieux fil, il suffit de le mettre à jour j'ajoute une autre réponse, de sorte qu'il est plus logique de tout un.
initEvent() est obsolète Il est toujours pris en charge dans certains navigateurs, mais éviter de l'utiliser.
Il y a une meilleure manière concise pour créer des événements comme ce
Pour ajouter plus de données de l'objet d'événement, la CustomEvent interface existe, et la propriété de détail peuvent être utilisés pour transmettre des données personnalisées.
Par exemple, l'événement pourrait être créé comme suit:
Référence: La création et le Déclenchement des Événements
OriginalL'auteur Shad