Boa tarde, Luiz! Como vai?
Esse problema está ocorrendo pq a sua variável titulo
está armazenando o conteúdo textual da tag h1
e o addEventListener()
é um método que pertence à elementos HTML! Portanto, o correto seria fazer assim:
var titulo = document.querySelector("h1"); // agora a variável irá armazenar o elemento h1
titulo.addEventListener("click", mostraMensagem);
function mostraMensagem(){
console.log("Cliquei no título: " + titulo);
}
Um outro detalhe é que na segunda linha do código vc faz titulo.addEventListener("click", mostraMensagem())
. Só que isso também não está correto pois ao utilizar os parênteses após o nome da função mostraMensage
vc automaticamente irá invocá-la! Quando na realidade o que vc quer é cadastrar ela como callback do evento de click. Dessa forma, o correto é fazer como eu fiz no código que estou te mandando nessa minha resposta!
Pegou a ideia? Qualquer coisa é só falar!
Grande abraço e bons estudos, meu aluno!