Desde mi experiencia sé tres maneras diferentes para ejecutar una función de JavaScript cuando un usuario hace clic en un enlace¿Cuál es la mejor forma de ejecutar una función cuando el usuario hace clic en un enlace?
utilizar el atributo
onclick
en el enlace<a href="#" onclick="myfunction();return false;">click me</a>
Uso del
href
en el enlace<a href="javascript:myfunction();">click me</a>
No toque el enlace, haga todo lo posible en js
<a href="#">click me</a>
(Javascript en el que se detendrá el evento predeterminado, y llamar a la función)
cuál es mejor? ¿Cuáles son las ventajas y desventajas?
EDITAR elimina el "javascript:" en onclick
no diga "javascript:" en onclick. Eso introduce una etiqueta (para 'break',' continue') que no necesita. – Thilo
Generalmente no se aconseja no tocar el HTML * en absoluto *, como lo pones en el ejemplo 3, ya que será problemático cuando intentes adjuntar el controlador de eventos en Javascript si no hay forma de seleccionar el elemento correcto. –
Incluso cuando lleva a cabo el enfoque 3, use un 'href' que hace algo para usuarios que no sean javascript. Si se trata de una acción que no tiene sentido para usuarios que no sean javascript, entonces podría usar javascript para * generar * el enlace - de esa manera las únicas personas que lo verían son las personas que podrían usarlo – Gareth