Los siguientes son dos métodos para construir un enlace que tiene el único propósito de ejecutar código JavaScript. ¿Qué es mejor, en términos de funcionalidad, velocidad de carga de página, propósitos de validación, etc.?
function myJsFunc() {
alert("myJsFunc");
}
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>
o
function myJsFunc() {
alert("myJsFunc");
}
<a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>
myJsFunc()
tiene un valor de retorno, su página se romperá. jsfiddle.net/jAd9G usted todavía tiene que utilizar void
de este modo: <a href="javascript:void myJsFunc();">
. Pero entonces, el comportamiento aún sería diferente. Invocar el enlace a través del menú contextual no activa el click
evento.
<a href="javascript:;" onclick="myEvent()"
?
javascript:;
es mucho más rápido de escribir quejavascript:void(0)
<a>
etiqueta si lo que quieres hacer es NO abrir otra página a través de la función del navegador nativo, sino tener alguna 'acción' de JavaScript que se activará? Simplemente usando una span
etiqueta con una clase de js-trigger
probablemente mucho mejor ". ¿O me estoy perdiendo algo?
<a href="javascript:void(0)" onclick="myJsFunc();">
tiene absolutamente ningún sentido. Si debe usar eljavascript:
protocolo psuedo, no necesita elonclick
atributo también.<a href="javascript:myJsFunc();">
hará bien.