Maison > interface Web > js tutoriel > Comment puis-je transmettre des arguments à une fonction d'écoute « addEventListener » en JavaScript ?

Comment puis-je transmettre des arguments à une fonction d'écoute « addEventListener » en JavaScript ?

Susan Sarandon
Libérer: 2024-12-21 14:08:09
original
874 Les gens l'ont consulté

How Can I Pass Arguments to an `addEventListener` Listener Function in JavaScript?

Passer des arguments à la fonction d'écoute addEventListener

Dans certains scénarios, il peut être nécessaire de transmettre des arguments à la fonction d'écoute de addEventListener. L'extrait de code suivant met en évidence une situation courante dans laquelle cela peut être nécessaire :

var someVar = some_other_function();
someObj.addEventListener("click", function() {
  some_function(someVar);
}, false);
Copier après la connexion

Dans ce cas, someVar est défini en dehors de la fonction d'écoute mais est destiné à être utilisé à l'intérieur de celle-ci. Cependant, en raison des règles de portée de JavaScript, someVar peut être reconnu comme une nouvelle variable dans la fonction d'écoute.

Solution : récupérer les arguments de la cible de l'événement

Au lieu d'essayer de transmettez les arguments directement à la fonction d'écoute, pensez à les obtenir à partir de l'attribut event.target. Cette approche implique l'ajout de propriétés personnalisées à la cible de l'événement.

const someInput = document.querySelector('button');
someInput.addEventListener('click', myFunc, false);
someInput.myParam = 'This is my parameter';
function myFunc(evt) {
  window.alert(evt.currentTarget.myParam);
}
Copier après la connexion

Dans cet exemple, un élément bouton se voit attribuer une fonction d'écoute d'événement appelée myFunc. Une propriété personnalisée, myParam, est ajoutée au bouton et définie sur une valeur spécifique (« Ceci est mon paramètre »).

Lorsque vous cliquez sur le bouton, la fonction myFunc est exécutée avec l'objet événement comme paramètre . En accédant à la propriété event.currentTarget puis à la propriété personnalisée myParam, la valeur (« Ceci est mon paramètre ») peut être récupérée et affichée.

Cette technique permet de transmettre des arguments aux fonctions d'écoute d'événements dans un de manière plus pratique et fiable.

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!

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 articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal