event | NN 4 IE 4 DOM 2 |
| |
L´objet event contient des informations sur un événement généré par l´utilisateur ou par le système. Mais il existe trois types différents d´objets event, un pour chaque modèle d´objet événement déployé dans les navigateurs: IE pour Windows, Navigator 4 et Netscape 6 (DOM W3C). IE 5 pour Macintosh implémente un mélange des versions IE pour Windows et Netscape 6. Reportez-vous au chapitre 6 pour des exemples de traitement d´événements dans un environnement compatible avec les différents navigateurs. Il est rare que la propriété d´un objet event s´applique à plus d´un des modèles d´événement, il faut donc faire particulièrement attention aux informations de compatibilité avec les navigateurs pour chacune des propriétés suivantes.
|
|
L´objet event Netscape 6, d´une certaine façon, est plus complexe du fait de sa nature axée sur les objets de la structure d´objet Event du DOM W3C sous-jacente. Au lieu d´être un objet comprenant tout (comme l´objet event de Microsoft Internet Explorer), l´objet event Netscape 6 présente différents ensembles de propriétés et méthodes reposant sur la classification de l´événement. Toutes les classes d´événements partagent les propriétés et méthodes de l´objet Event racine du DOM W3C. Mais les instances d´objets événements réelles appartiennent à l´une des sous-classes d´objets Event (et parfois, des sous-sous-classes). Ces sous-classes s´appellent UIEvent (événements d´interface utilisateur tels que DOMFocusIn), MouseEvent (notamment les événements de souris), MutationEvent (événements signalant une modification par script de la structure de noeuds du document) et, nouveauté dans le niveau 3 du DOM, TextEvent (événements ayant trait au clavier). Netscape 6 implémente sa propre classification temporaire des événements de clavier sous le nom KeyEvent, qui est une sous-classe de UIEvent, bien qu´elle emprunte des propriétés MouseEvent pour faciliter la création de scripts.
|
|
En général, cette division fonctionnelle des objets n´affectera pas le traitement des événements dans Netscape 6 car une fonction d´auditeur d´événements pour un type d´événement particulier recherchera les propriétés associées à cet événement. La classe d´événements n´a que peu d´importance. Toutefois, il est instructif de voir comment les propriétés et méthodes des objets événements se propagent en cascade dans cette structure axée sur les objets. Le tableau suivant illustre la distribution des propriétés dans les classes d´événements Netscape 6 et DOM W3C.
|
|
Le tableau suivant illustre la distribution des méthodes dans les classes d´événements Netscape et DOM W3C.
|
|
L´objet event dans Netscape 6 implémente aussi les propriétés de l´objet Event statique de Navigator 4 et hérite d´une liste impressionnante de constantes de l´objet TextEvent du DOM W3C représentant des codes de touches de clavier non alphanumériques (ayant des noms de constantes tels que eventObject.DOM_VK_PAGE_UP). Il a été annoncé que ces constantes de clavier feraient partie du module d´événements du DOM W3C niveau 3, mais sont déjà implémentées dans Netscape 6 (bien que les valeurs ne s´alignent pas exactement). Une liste de propriétés pour l´objet Event statique de Navigator 4 est présentée dans la section consacrée à l´objet Event suivant le présent exemple d´une instance d´événement.
|
|
Comme décrit en détails dans le chapitre 6, vous devez utiliser différentes techniques de scripts pour obtenir une référence à un objet event dans les modèles d´événements IE et Navigator. Une fois cette référence obtenue, vous êtes sur la bonne voie pour égaliser le traitement des événements sur les différents navigateurs. Les fragments d´exemple qui suivent supposent que les instructions de script précédentes ont obtenu une référence à l´objet event spécifique au navigateur (apparaît généralement dans cet exemple comme stocké dans une variable intitulée evt).
|
|
| Event | UIEvent | MouseEvent | KeyEventImplémenté dans Netscape 6 pour des fonctionnalités supplémentaires ou à la place du modèle d´événements de clavier de niveau 3 du DOM inachevé. Emprunte des propriétés
MouseEvent pour faciliter la création de scripts.
| TextEventProposé pour le niveau 3 du DOM, mais pas implémenté dans Netscape 6. | MutationEvent |
propriétés Event |
bubbles | √ | √ | √ | √ | √ | √ |
cancelable | √ | √ | √ | √ | √ | √ |
cancelBubbleIE property implemented in Netscape 6 for cross-browser convenience. | √ | √ | √ | √ | | √ |
currentTarget | √ | √ | √ | √ | √ | √ |
eventPhase | √ | √ | √ | √ | √ | √ |
originalTarget8 | √ | √ | √ | √ | | √ |
target | √ | √ | √ | √ | √ | √ |
timeStamp | √ | √ | √ | √ | √ | √ |
type | √ | √ | √ | √ | √ | √ |
propriétés UIEvent |
detail | | √ | √ | √ | √ | |
view | | √ | √ | √ | √ | |
propriétés MouseEvent |
altKey | | | √ | √ | | |
button | | | √ | | | |
clientX | | | √ | √ | | |
clientY | | | √ | √ | | |
ctrlKey | | | √ | √ | | |
metaKey | | | √ | √ | | |
relatedTarget | | | √ | | | |
screenX | | | √ | √ | | |
screenY | | | √ | √ | | |
shiftKey | | | √ | √ | | |
propriétés KeyEvent |
charCode8 | | | | √ | | |
isChar8 | | | | √ | | |
keyCode8 | | | | √ | | |
rangeOffset8 | | | | √ | | |
rangeParent8 | | | | √ | | |
propriétés TextEvent | | | | | | |
keyVal9 | | | | | √ | |
numPad9 | | | | | √ | |
outputString9 | | | | | √ | |
virtKeyVal9 | | | | | √ | |
visibleOutputGenerated9 | | | | | √ | |
propriétés MutationEvent |
attrChange | | | | | | √ |
attrName | | | | | | √ |
newValue | | | | | | √ |
prevValue | | | | | | √ |
relatedNode | | | | | | √ |
|
|
| Event | UIEvent | MouseEvent | KeyEventImplémenté dans Netscape 6 pour des fonctionnalités supplémentaires ou à la place du modèle d´événements de clavier du niveau 3 du DOM inachevé. Emprunte des propriétés MouseEvent pour faciliter la création de scripts. | TextEventProposé pour le niveau 3 du DOM, mais pas implémenté dans Netscape 6. | MutationEvent |
méthodes Event |
initEvent( ) | √ | √ | √ | √ | √ | √ |
getPreventDefault( )11 | √ | √ | √ | √ | | √ |
preventDefault( ) | √ | √ | √ | √ | √ | √ |
stopPropagation( ) | √ | √ | √ | √ | √ | √ |
Méthodes UIEvent |
initUIEvent( ) | | √ | | | | |
Méthodes MouseEvent |
initMouseEvent( ) | | | √ | | | |
Méthodes KeyEvent |
initKeyEvent( ) | | | | √ | | |
Méthodes TextEvent |
checkModifier( )12 | | | | | √ | |
initModifier( )12 | | | | | √ | |
initTextEvent( )12 | | | | | √ | |
Méthodes MutationEvent |
initMutationEvent( ) | | | | | | √ |
|
|
Référence de modèle d'objet |
|
|
|
Propriétés spécifiques à l´objet |
|
altKey | altLeft | attrChange | attrName |
behaviorCookie | behaviorPart | bookmarks | boundElements |
bubbles | button | cancelable | cancelBubble |
charCode | clientX | clientY | contentOverflow |
ctrlKey | ctrlLeft | currentTarget | data |
dataFld | dataTransfer | detail | eventPhase |
fromElement | isChar | keyCode | layerX |
layerY | metaKey | modifiers | newValue |
nextPage | offsetX | offsetY | originalTarget |
pageX | pageY | prevValue | propertyName |
qualifier | rangeOffset | rangeParent | reason |
recordset | relatedNode | relatedTarget | repeat |
returnValue | screenX | screenY | shiftKey |
shiftLeft | srcElement | srcFilter | srcUrn |
target | timeStamp | toElement | type |
view | wheelDelta | which | x |
y | | | |
|
|
Méthodes spécifiques à l´objet |
|
getPreventDefault( ) | initEvent( ) | initKeyEvent( ) | initMouseEvent( ) |
initMutationEvent( ) | initUIEvent( ) | preventDefault( ) | stopPropagation( ) |
|
|
Propriétés de gestionnaire d´événements spécifiques à l´objet |
Aucune.
|