Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Coder Ninja

Qual a diferença entre javascript:funcao('v') e evento="fu

Recommended Posts

Ola coders, tudo bem?

 

Bom este é meu primeiro tópico em um fórum,

estou com uma simples duvida de boas praticas.

 

Trabalho com Asp Clássico aqui na empresa e vira e mexe encontro códigos javascript

no html assim → onLoad="Javascript:document.form1.senha.focus();" :!:

 

o que entra a duvida é porque fazer isso o :!: 'javascript:' :!: e não sómente chamar a função direto?

 

Qual a diferença alguém sabe me responder? :ninja:

Compartilhar este post


Link para o post
Compartilhar em outros sites

javascript: é uma má prática e não deve ser usado.

É uma coisa antiga, da época em que ainda estavam "implementando", por exemplo, digite

javascript:alert('Olá'); na barra de endereços do teu browser (funciona no Firefox), você verá um alert.

 

Era uma forma de cancelar o comportamento default da tag <a href="">, ao colocar o javascript como "protocolo" <a href="javascript:"> Algo muito feio, porco e que nunca deve ser usado hoje em dia.

 

Antigamente era comum misturar js no html. Enfim, não faça.

 

Quanto a outra forma:

evento="funcao()" também é uma má prática e você tb não deveria usar.

Pois você continua misturando js no html.

 

O correto é deixar todo o bind de eventos no js.

 

element.addEventListener('click', function() {
   //codigo
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caramba, nem imaginava sempre que ver vou corrigir isto aqui. Porque falar mesmo não adianta pelo menos aqui.

 

como faço um bind de eventos no JS ? :upset:

 

Você me deu o exemplo:

 

element.addEventListener('click', function() {
//codigo
});

 

mas isso na pratica seria como por exemplo um onClick do html

se fosse

function alo(){

alert('Ola');

}

onClick="alo()"

 

Como faria isso com o estilo que falou...? :ninja:

Compartilhar este post


Link para o post
Compartilhar em outros sites

O html:

 

<p id="t">click me</p>
E ai o js:

function alo(){
  alert('Ola');
}

document.getElementById('t').addEventListener('click', alo);
Importante o js vir depois do html, pois o html precisa existir para o js conseguir "pegar" o elemento no DOM.

Compartilhar este post


Link para o post
Compartilhar em outros sites

:ninja: Cara valew, aprendi mais uma que vou levar a vida a frente.

Seguirei estas boas praticas agora que sei como é. Provavelmente deve ser o mesmo para quando

 

for outro tipo de evento como "change", "blur" e etc...

Muito obrigado pelas dicas. :worship:

 

Vou marcar como resolvido.

 

Obrigadão hein :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.