Derniers tutoriels de développement web
 

JavaScript HTML DOM EventListener


Le addEventListener() méthode

Exemple

Ajouter un écouteur d'événement qui se déclenche quand un utilisateur clique sur un bouton:

document.getElementById("myBtn").addEventListener("click", displayDate);
Essayez - le vous - même »

Le addEventListener() méthode attache un gestionnaire d'événement à l'élément spécifié.

Le addEventListener() méthode attache un gestionnaire d'événements à un élément sans écraser les gestionnaires d'événements existants.

Vous pouvez ajouter de nombreux gestionnaires d'événements à un seul élément.

Vous pouvez ajouter de nombreux gestionnaires d'événements du même type à un élément, soit deux "click" événements.

Vous pouvez ajouter des écouteurs d'événement à un objet non DOM des éléments HTML seulement. à savoir l'objet de la fenêtre.

Le addEventListener() méthode permet de mieux contrôler la façon dont l'événement réagit à un barbotage.

Lorsque vous utilisez la addEventListener() méthode, le JavaScript est séparé du balisage HTML, pour une meilleure lisibilité et vous permet d'ajouter des écouteurs d'événement , même lorsque vous ne contrôlez pas le balisage HTML.

Vous pouvez facilement supprimer un écouteur d'événement en utilisant le removeEventListener() méthode.


Syntaxe

element .addEventListener( event, function, useCapture );

Le premier paramètre est le type de l'événement (comme "click" ou "mousedown" ).

Le deuxième paramètre est la fonction que nous voulons appeler lorsque l'événement se produit.

Le troisième paramètre est une valeur booléenne indiquant si vous souhaitez utiliser bullage d'événement ou d'un événement de capture. Ce paramètre est facultatif.

Notez que vous ne pas utiliser le "on" préfixe pour l'événement; utiliser "click" au lieu de "onclick" .


Ajouter un gestionnaire d'événements à un élément

Exemple

Alerte "Bonjour tout le monde!" lorsque l'utilisateur clique sur un élément:

element .addEventListener("click", function(){ alert("Hello World!"); });
Essayez - le vous - même »

Vous pouvez également consulter une fonction externe "nommé":

Exemple

Alerte "Bonjour tout le monde!" lorsque l'utilisateur clique sur un élément:

element .addEventListener("click", myFunction);

function myFunction() {
    alert ("Hello World!");
}
Essayez - le vous - même »

Ajouter Beaucoup de gestionnaires d'événements au même élément

Le addEventListener() méthode vous permet d'ajouter de nombreux événements au même élément, sans écraser les événements existants:

Exemple

element .addEventListener("click", myFunction);
element .addEventListener("click", mySecondFunction);
Essayez - le vous - même »

Vous pouvez ajouter des événements de types différents au même élément:

Exemple

element .addEventListener("mouseover", myFunction);
element .addEventListener("click", mySecondFunction);
element .addEventListener("mouseout", myThirdFunction);
Essayez - le vous - même »

Ajouter un gestionnaire d'événement à l'objet Window

Le addEventListener() méthode vous permet d'ajouter des écouteurs d'événement sur un objet DOM HTML tels que des éléments HTML, le document HTML, l'objet de la fenêtre, ou d' autres objets qui prennent en charge les événements, comme le xmlHttpRequest objet.

Exemple

Ajouter un écouteur d'événement qui se déclenche lorsqu'un utilisateur redimensionne la fenêtre:

window.addEventListener("resize", function(){
    document.getElementById("demo").innerHTML = sometext ;
});
Essayez - le vous - même »

passage de paramètres

Lors du passage des valeurs de paramètres, utiliser une "fonction anonyme" qui appelle la fonction spécifiée avec les paramètres:

Exemple

element .addEventListener("click", function(){ myFunction(p1, p2); });
Essayez - le vous - même »

Bubbling événement ou Capture d'événement?

Il y a deux façons de propagation de l'événement dans le DOM HTML, bouillonnantes et capture.

la propagation de l'événement est une façon de définir l'ordre des éléments lorsqu'un événement se produit. Si vous avez un <p> élément dans un <div> élément, et l'utilisateur clique sur le <p> élément, de l' élément "click" l' événement doit être manipulé en premier?

En barbotage , l'événement le plus élément intérieur est traité en premier, puis l'extérieur: le <p> événement click de l' élément est traité en premier, puis le <div> événement click de l' élément.

En capturant l'événement le plus élément extérieur est traité en premier, puis l'intérieur: le <div> cliquez sur l'événement élément sera traité en premier, puis le <p> événement click de l' élément.

Avec le addEventListener() méthode , vous pouvez spécifier le type de propagation en utilisant le "useCapture" paramètre:

addEventListener( event , function , useCapture );

La valeur par défaut est false, qui utilisera la propagation des bulles, lorsque la valeur est définie sur true, l'événement utilise la propagation de capture.

Exemple

document.getElementById("myP").addEventListener("click", myFunction, true);
document.getElementById("myDiv").addEventListener("click", myFunction, true);
Essayez - le vous - même »

Le removeEventListener() méthode

Le removeEventListener() méthode supprime les gestionnaires d'événements qui ont été attachés à la addEventListener() méthode:

Exemple

element .removeEventListener("mousemove", myFunction);
Essayez - le vous - même »

support du navigateur

Les chiffres dans le tableau indique la première version du navigateur qui soutient pleinement ces méthodes.

méthode
addEventListener() 1.0 9.0 1.0 1.0 7.0
removeEventListener() 1.0 9.0 1.0 1.0 7.0

Remarque: Le addEventListener() et removeEventListener() méthodes ne sont pas pris en charge dans IE 8 et les versions antérieures et Opera 6.0 et les versions antérieures. Cependant, pour ces versions spécifiques du navigateur, vous pouvez utiliser le attachEvent() méthode pour joindre un gestionnaire d'événements à l'élément et le detachEvent() méthode pour le supprimer:

element. attachEvent (event, function);
element.
detachEvent (event, function);

Exemple

solution Cross-navigateur:

var x = document.getElementById("myBtn");
if (x.addEventListener) {                    // For all major browsers, except IE 8 and earlier
    x.addEventListener("click", myFunction);
} else if (x.attachEvent) {                  // For IE 8 and earlier versions
    x.attachEvent("onclick", myFunction);
}
Essayez - le vous - même »

HTML DOM Event Object Reference

Pour une liste de tous les événements HTML DOM, consultez notre complète HTML DOM Event Object Reference .