DOM-Compat 20050723
Cette page présente le script de compatibilité pour les API DOM de gestion et traitement des évènements. Ce script s’occupe également de quelques parties du DOM Style.
- Ajout des méthodes
EventTarget.addEventListener()
,EventTarget.removeEventListener()
etEventTarget.dispatchEvent()
pour Internet Explorer - Objet
Event
correspondant aux normes en vigueur pour IE - Support des évènements load et unload sur l’objet
document
dans IE et Mozilla - Ordre d’appel des guetteurs dans le même ordre que celui de leur enregistrement sous IE (conformément au comportement de la plupart des navigateurs ainsi qu’au document de travail concernant le DOM3 Events)
- Support du mode capturant dans IE
- Corrections de divers bugs dans la plupart des navigateurs
Visualiser le script (Dernière version de développement).
Utilisation
Le script peut être utilisé de deux façons différentes.
La première méthode est de laisser la variable applyPatch
à true
dans le script. Dans ce cas, il vous suffit d’utiliser le DOM Events tel que décrit dans la documentation du
W3C.
Vous pouvez aussi mettre applyPatch
à false
et utiliser directement
l’objet DOM_Events
comme ceci :
DOM_Events.addListener('load', myFunction, false, document);
Comme vous pouvez le constater, l’ordre des arguments est le même que si l’on avait utilisé la
méthode addEventListener()
présente dans le DOM du W3C. La seule
différence est la présence d’un quatrième argument pour indiquer au script le nœud concerné.
De même pour retirer un guetteur ou déclencher un évènement, vous devrez faire appel
respectivement à DOM_Events.removeListener()
et DOM_Events.dispatchEvent()
avec, toujours, les mêmes arguments que dans le DOM du W3C
ainsi qu’un argument supplémentaire indiquant le nœud concerné.
Historique
- : Retrait de la simulation des méthodes concernant le DOM Style (sauf getComputedStyle()). Inutile et réduit la durée du script pour réaliser le "patch"
- : Retrait de la simulation de la méthode
Element.hasAttribute()
dans les navigateurs ne la supportant pas depuis que cette méthode devrait renvoyertrue
dans le cas où l’attribut en question, non spécifié dans le document, a néanmoins une valeur par défaut dans la DTD - : La tentative de simulation des propriétés
offsetX/Y
sur les navigateurs qui ne les supportent pas ou dans lesquels elles sont boguées est abandonnée. Les pairesoffsetX/Y
et/oulayerX/Y
, si elles existent dans l’objet d’évènement natif, sont simplement ajoutées à l’objet d’évènement résultant. - : Ajout du patch pour empécher le déclenchement de l’évènement click si des évènements mouseover, mouseout ou mousemove surviennent entre l’évènement mousedown et l’évènement mouseup
- : Modifications conséquentes suite à la découverte d’une grosse erreur d’interprétation de ma part sur le principe de flux d’évènement
- : Gestion du déclenchement manuel d’évènements avec
Document.createEvent()
etEventTarget.dispatchEvent()
(terminé) - : Modifications pour gérer les ajouts et retraits de guetteurs durant un traitement d’évènement
- : Ajout gestion de
Document.createEvent()
etEventTarget.dispatchEvent()
pour le déclenchement manuel d’évènements (à terminer) - : Création de la présente page