English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La dernière fonctionnalité des gestionnaires d'événements JavaScript est l'écouteur d'événement. L'écouteur d'événement surveille les événements sur les éléments.
Nous allons utiliseraddEventListener()à utiliser à la place de l'affectation directe des événements à des attributs de l'élément.
addEventListener()La méthode ajoute un gestionnaire d'événement à l'élément spécifié.
Nous pouvons réécrire l'exemple de couleur aléatoire (du chapitre précédent), comme suit :
document.querySelector("button").addEventListener("click", bgChange); function bgChange() { let color = "rgb(" + random(255) + ", + random(255) + ", + random(255) + )"); document.body.style.backgroundColor = color; }Vérifiez avec‹/›
Nous utilisons toujours avecavantidentiquebgChange()La fonction. Nous allonsaddEventListener()La méthode est attachée au bouton.
addEventListener() Accepte deux paramètres obligatoires-Les événements à surveiller et les fonctions de rappel des gestionnaires.
Cette méthode est similaire à la propriété gestionnaire d'événement (chapitre précédent), mais la syntaxe est évidemment différente.
element.addEventListener(event, listener, useCapture)
Le premier paramètre est le type de l'événement (par exemple "click" ou "mousemove").
Le deuxième paramètre est la fonction d'écouteur appelée lors de l'événement.
Le troisième paramètre est une valeur booléenne, indiquant si l'utilisation de l'événement bubble ou de l'événement capture. Ce paramètre est optionnel.
Attention, ne pas utiliser le préfixe "on" pour les événements. Utilisez "click" à la place de "onclick".
Veuillez noter que mettez tout le code dansaddEventListener()Il est très approprié dans une fonction anonyme dans une méthode, comme indiqué ci-dessous :
let para = document.querySelector("#para"); para.addEventListener("click", function() { this.innerHTML = "Hello world"; });Vérifiez avec‹/›
Vous pouvez également appeler des fonctions "nommées" externes :
let para = document.querySelector("#para"); para.addEventListener("click", changeText); function changeText() { para.innerHTML = "Hello world"; }Vérifiez avec‹/›
À première vue, l'écouteur d'événement semble très similaire aux attributs gestionnaires d'événements, mais ils ont certains avantages. Nous pouvons configurer plusieurs écouteurs d'événements sur le même élément, comme dans l'exemple suivant :
document.querySelector("button").addEventListener("click", myFunc); document.querySelector("button").addEventListener("click", anotherFunc);Vérifiez avec‹/›
Nous pouvons ajouter différents types d'événements aux éléments :
document.querySelector("button").addEventListener("mouseenter", myFunc1); document.querySelector("button").addEventListener("click", myFunc2); document.querySelector("button").addEventListener("mouseout", myFunc3);Vérifiez avec‹/›
Lorsque vous transmettez des valeurs de paramètres, utilisez une fonction anonyme qui appelle la fonction spécifiée en utilisant les paramètres :
var btn = document.querySelector("button"); btn.addEventListener("click", function() { myFunc(x, y); });Vérifiez avec‹/›
De plus, vous pouvezaddEventListener()dansDocumentetFenêtreobjets.
Dans cet exemple, nous utilisons lesaddEventListener()La méthode ajoute l'événement click au document :
document.addEventListener("click", function() { alert("Hello World!!!"); });Vérifiez avec‹/›
Dans cet exemple, nous utilisons cetteaddEventListener()La méthode ajoute l'événement de redimensionnement (resize) à la fenêtre :
window.addEventListener("resize", function() { box.innerHTML = Math.random(); });Vérifiez avec‹/›
Actuellement, l'écoute d'événement est la méthode la plus courante et la plus préférée pour traiter les événements en JavaScript.
Vous pouvez également utiliserremoveEventListener()La méthode supprime un ou tous les événements d'un élément.
var box = document.getElementById("para"); // Attacher un gestionnaire d'événement à un élément P avec l'id="para" box.addEventListener("mousemove", myFunc); // Retirer le gestionnaire d'événement d'un élément P avec l'id="para" box.removeEventListener("mousemove", myFunc);Vérifiez avec‹/›
Le premier paramètre est le type de l'événement (par exemple "click" ou "mousemove").
Le second paramètre est la fonction à appeler lors de l'événement.
Référence JavaScript :Référence de l'objet événement HTML DOM