A seguir, são apresentados dois métodos para criar um link com o único objetivo de executar o código JavaScript. Qual é melhor, em termos de funcionalidade, velocidade de carregamento da página, finalidades de validação etc.?
function myJsFunc() {
alert("myJsFunc");
}
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>
ou
function myJsFunc() {
alert("myJsFunc");
}
<a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>
myJsFunc()tiver um valor de retorno, sua página será interrompida. jsfiddle.net/jAd9G você teria ainda tem que usar voidassim: <a href="javascript:void myJsFunc();">. Mas então, o comportamento ainda seria diferente. A chamada do link pelo menu de contexto não aciona o clickevento.
<a href="javascript:;" onclick="myEvent()"?
javascript:;é muito mais rápido de digitar do que #javascript:void(0)
<a>tag se o que você deseja fazer é NÃO abrir outra página via recurso nativo do navegador, mas sim ter alguma ação javascript a ser acionada? Simplesmente usando uma spantag com uma classe de js-triggerprovavelmente muito melhor ". Ou eu estou esquecendo de alguma coisa?
<a href="javascript:void(0)" onclick="myJsFunc();">faz absolutamente nenhum sentido. Se você deve usar ojavascript:protocolo psuedo, também não precisa doonclickatributo.<a href="javascript:myJsFunc();">vai fazer muito bem.