Si j'attache plusieurs gestionnaires d'événements à un seul événement sur un seul élément DOM, les gestionnaires d'événements sont-ils garantis d'être appelés dans l'ordre dans lequel ils ont été ajoutés? Ou devrais-je ne pas compter sur ce comportement?Les gestionnaires d'événements dans JavaScript sont-ils appelés dans l'ordre?
Répondre
Cette has been changed avec DOM3! Alors que le DOM level 2 events specification a fait état
Lorsque l'événement atteint la cible, écouteurs d'événement enregistrés sur le
EventTarget
sont déclenchées. Bien que tousEventListeners
sur leEventTarget
sont garantis être déclenchées par un événement qui est reçu par ceEventTarget
, aucune spécification est faite comme au ordre où ils recevront l'événement en ce qui concerne l'autreEventListeners
sur leEventTarget
.
Le DOM level 3 events specification actuel ne stipule désormais
La mise en œuvre doit déterminer de candidate event listeners la cible actuelle. Cela DOIT être la liste de tous les écouteurs d'événement qui ont été enregistrés sur la cible actuelle dans leur ordre d'enregistrement.
HTML5
définit l'ordre des écouteurs registered through event handler attributes. [...]Enfin, la mise en œuvre DOIT traiter tous les candidats event handlers pour [...]
Cependant, je ne peux pas trouver une référence à ce comportement dans le DOM 4 draft plus.
- 1. Les gestionnaires d'événements ne sont pas appelés? - wxWidgets
- 2. Les gestionnaires d'événements dans une boucle Javascript - besoin d'une fermeture?
- 3. gestionnaires d'événements javascript
- 4. Gestionnaires d'événements JavaScript
- 5. Deux boutons dans un formulaire, Les deux appelés
- 6. Unir plusieurs gestionnaires d'événements Javascript
- 7. Javascript Iterate gestionnaires d'événements/écouteurs
- 8. Méthodes de classe en tant que gestionnaires d'événements dans JavaScript?
- 9. Tests automatisés de gestionnaires de composants dans un tiers Javascript
- 10. Câblage des gestionnaires JavaScript après une publication partielle dans ASP.NET
- 11. "javascript: void (0)" les liens cassent parfois les gestionnaires d'événements dans Internet Explorer
- 12. Dans LabVIEW, obtenir sans charger les appelés VI
- 13. Lier les gestionnaires d'événements Javascript à une réponse HTML Ajax?
- 14. javascript Les gestionnaires d'événements onclick ne fonctionnent pas correctement
- 15. Les gestionnaires d'événements jQuery ne tirent pas dans IE
- 16. Javascript: Contrôler l'ordre dans lequel les gestionnaires d'événements/écouteurs sont exonérés
- 17. Renvoie les résultats mySQL dans l'ordre dans lequel ils sont appelés dans une instruction IN()
- 18. Passage d'entiers lorsque les flottants sont appelés
- 19. Que sont les docstrings appelés en java?
- 20. Gestionnaires HTTP: Quand utiliser les gestionnaires synchrones/asynchrones/génériques (ashx)?
- 21. Trouver des gestionnaires d'événements dans les arbres source
- 22. php: gestion des exceptions dans les gestionnaires d'exceptions?
- 23. Comment utiliser les gestionnaires génériques (ASHX) dans ASP.NET MVC?
- 24. Android 2.1: Les gestionnaires Muliple dans une seule activité
- 25. Comment supprimer tous les gestionnaires d'événements Click dans Jquery
- 26. Comment déclarer les gestionnaires d'événements lambda dans VB.Net?
- 27. Échapper des guillemets doubles dans les gestionnaires d'événements HTML
- 28. Transmission des données d'événement dans les gestionnaires d'événements en ligne
- 29. GetScriptReferences ne sont pas appelés
- 30. Actionscript sur les gestionnaires de changement
Vraisemblablement, si cela vient de HTML5, cela signifie que les navigateurs actuels le font déjà, pensez-vous? – thomasrutter
@thomasrutter: Oui, à peu près - ils ne font que normaliser ce qu'ils implémentent. – Bergi