Contexte via paramètre en JavaScript
Il existe une autre solution au problème. Faisons
en sorte que la fonction child accepte
un paramètre :
function child(param) {
// le code sera ici
}
Et lors de l'appel de cette fonction, nous lui transmettrons
this :
function parent() {
child(this); // on passe this en paramètre
function child(param) {
// la variable param contient le contenu de this transmis
}
}
Puisque l'appel de child est effectué
dans la fonction parent, le this transmis
pointe bien vers ce qui est nécessaire. Ensuite,
ce this arrive dans le paramètre param
et sera accessible sous cette forme à l'intérieur de la fonction.
Voici le code final :
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // on passe this en paramètre
function child(param) {
console.log(param.value); // on affiche la value de l'input
}
}
Prenez le code de la tâche précédente et corrigez le problème du code en utilisant la deuxième méthode étudiée.