Função JavaScript onclick acionada prematuramente
Ao criar um link com estética semelhante a uma tag , mas destinado a executar uma função ao clicar , os usuários podem encontrar um cenário em que a função é chamada erroneamente durante o carregamento da página. Isso impede que o evento de clique desejado funcione corretamente.
A armadilha comum é o uso indevido de parênteses ao atribuir o atributo onclick. Em vez de sentNode.onclick = secondFunction(), que executa imediatamente a função, a sintaxe correta é sentNode.onclick = secondFunction. Isto atribui uma referência à função, que só será executada no evento click.
function startFunction() {
var sentNode = document.createElement('a');
sentNode.setAttribute('href', "#");
sentNode.setAttribute('onclick', secondFunction);
//sentNode.onclick = secondFunction();
sentNode.innerHTML = "Sent Items";
//...
}
Ao omitir os parênteses, o evento onclick fica corretamente vinculado a uma referência de função e não ao resultado de sua execução, garantindo o comportamento pretendido.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3