Contexto via parâmetro em JavaScript
Existe outra solução para o problema. Vamos fazer
com que a função child aceite um
parâmetro:
function child(param) {
// código aqui
}
E ao chamar esta função, passaremos
this para ela como
parâmetro:
function parent() {
child(this); // passamos this como parâmetro
function child(param) {
// na variável param está o conteúdo de this que foi passado
}
}
Como a chamada de child é feita
na função pai, o this passado
se refere ao que é necessário. Então,
este this vai para o parâmetro param
e estará acessível dentro da função desta forma.
Aqui está o código final:
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // passamos this como parâmetro
function child(param) {
console.log(param.value); // exibimos o value do input
}
}
Pegue o código da tarefa anterior e corrija o problema do código usando a segunda maneira estudada.