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);
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); }
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!