Maison > interface Web > js tutoriel > qu'est-ce que le modèle d'événement javascript

qu'est-ce que le modèle d'événement javascript

醉折花枝作酒筹
Libérer: 2023-01-07 11:43:49
original
2122 Les gens l'ont consulté

Il existe trois modèles d'événements dans différents navigateurs : le modèle d'événement original, le modèle d'événement DOM2 et le modèle d'événement IE. Le modèle d'événement d'origine est pris en charge par tous les navigateurs. Le modèle d'événement défini dans DOM2 est actuellement pris en charge par tous les principaux navigateurs à l'exception d'IE.

qu'est-ce que le modèle d'événement javascript

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

1. Modèle d'événement original

Le type d'événement : divisé en « événements d'entrée (tels que onclicki) » et « événements sémantiques (tels que onsubmit) »

L'inscription au programme d'événement peut se faire des manières suivantes :

1. Code JS comme valeur de propriété HTML

<input type="button" value="Press me" onclick="alert(&#39;thanks&#39;);"
Copier après la connexion

2. Gestionnaire d'événements comme attribut JS

Remarque : chaque élément HTML du document a un objet JS correspondant dans l'arborescence du document, et les propriétés de cet objet JS correspondent à ce code HTML. propriétés de l'élément, qu'il s'agisse d'un code JS de nature HTML ou d'un gestionnaire de temps en tant qu'attribut JS, son propre attribut est une fonction "fonction".

<form name="f1">

<input name="b1" type="button" value="Press Me"/>

</form>
Copier après la connexion

La première méthode d'affectation :

document.f1.b1.onclick=function(){alert(&#39;thanks&#39;);};
Copier après la connexion

La deuxième méthode d'affectation :

function plead(){window.status="Please Press Me!";}

document.f1.bi.onmouseover=plead;
Copier après la connexion

Les gestionnaires d'événements en tant qu'attributs JS peuvent être explicitement appelés avec les attributs JS

document.myfrom.onsubmit();
Copier après la connexion

Les gestionnaires d'événements peuvent renvoyer false pour empêcher le navigateur d'exécuter l'action par défaut de l'événement, des opérations couramment utilisées telles que onsubmit. L'exception est le blocage de l'événement d'affichage window.status du survol du lien hypertexte, qui renvoie vrai. Par exemple :

<a href="help.htm" onmouseover="window.status=&#39;help&#39;;return true;">help</a>
Copier après la connexion

2. Modèle d'événement DOM2

Ce modèle est formulé en référence au modèle de bulle d'IE, qui est formulé. par la spécification w3c. Dans le modèle original, le gestionnaire d'événements est appelé directement lorsqu'un événement se produit, et il n'y a pas d'autre processus de propagation d'événement. Dans le modèle DOM2, les événements ont un processus de propagation spécial, qui est divisé en trois étapes :

.

(1) phase de capture : L'événement est propagé depuis le document jusqu'à l'élément cible Au cours de ce processus, si un élément ancêtre est intéressé par l'événement, il peut enregistrer sa propre fonction de traitement

(2). phase cible : l'événement atteint l'élément cible et exécute la fonction de traitement d'événement de l'élément cible.

(3) phase de bouillonnement : l'événement monte de l'élément cible jusqu'à ce qu'il atteigne le document, bien que tous les types d'événements passent par la phase de capture. , seuls certains événements passeront par la phase de bouillonnement. Par exemple, l'événement submit ne sera pas Up
Pendant tout le processus de propagation de l'événement, vous pouvez appeler event.stopPropagation() pour arrêter la propagation de l'événement, et appeler PreventDefault() pour. empêche le comportement par défaut du navigateur.

addEventListener("eventType","handler","true!false");

removeEventListner("eventType","handler","true!false");
Copier après la connexion

Trois, le modèle IE

Le modèle IE est également fourni. Un objet événement encapsule les détails de l'événement, mais IE ne transmet pas l'objet dans la fonction de traitement d'événement puisqu'il n'y en aura que. un événement à tout moment, IE l'utilise comme attribut de la fenêtre d'objet globale. Propagation d'événements dans IE Le mode correspond aux deuxième et troisième étapes de DOM2. Il exécute d'abord la fonction de traitement de l'élément cible, puis se propage vers le haut. accéder au document. Dans IE, seuls les événements de souris peuvent être capturés, tandis que dans DOM2, tous les événements peuvent être capturés. Enregistrez et supprimez les événements dans IE. La méthode de traitement des fonctions est également différente de celle de DOM2. via les attachEvent("eventType","handler") et detachEvent("eventType","handler") de l'élément. La différence avec dom2 est eventType Avec le préfixe on

Caractéristiques :

1. capturer. Méthode d'interruption de bulle :

window.ecent.cancelBubble=true;

2. L'objet Event n'est pas un paramètre de fonction du gestionnaire d'événements, mais une variable globale de la fenêtre.

3. Fonction d'enregistrement d'événement : attachEvent() et désinscription : detachEvent()

4. Modèle d'événement Netscape4

Puisque Netscape semble avoir complètement arrêté le développement, je n'entrerai pas dans les détails. : c'est du Capture uniquement sans mousser.

【Apprentissage recommandé :

Tutoriel avancé javascript

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
c++ appelle javascript
Depuis 1970-01-01 08:00:00
0
0
0
Qu’est-ce que le garbage collection JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Que sont les fonctions de hook JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Comment obtenir la date actuelle en JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal