¿Cómo usar un enlace para llamar al código JavaScript?
javascript
Jin Yong
fuente
fuente
JavaScript discreto, sin dependencia de la biblioteca:
fuente
href
si no quiero redirigir al usuario y solo quiero ejecutar algún código? Editar: Veo que puede estar en blanco a la izquierda:href=""
.onclick
evento a través dewindow.onload
, en lugar de ponerloonclick
directamente en la<a>
etiqueta?EDITAR, años después: ¡NO! ¡Nunca hagas esto! ¡Era joven y estúpido!
Editar, nuevamente: un par de personas han preguntado por qué no deberías hacer esto. Hay un par de razones:
Presentación: HTML debe centrarse en la presentación. Poner JS en un HREF significa que su HTML ahora, más o menos, se trata de lógica empresarial.
Seguridad: Javascript en su HTML como eso viola la Política de Seguridad de Contenido (CSP) . La Política de seguridad de contenido (CSP) es una capa adicional de seguridad que ayuda a detectar y mitigar ciertos tipos de ataques, incluidos los Cross-Site Scripting (XSS) y los ataques de inyección de datos. Estos ataques se utilizan para todo, desde robo de datos hasta desfiguración del sitio o distribución de malware. Lee más aquí .
Accesibilidad: las etiquetas de anclaje son para vincular a otros documentos / páginas / recursos. Si su enlace no va a ninguna parte, debería ser un botón . Esto hace que sea mucho más fácil para los lectores de pantalla, terminales braille, etc. determinar lo que está sucediendo y brindar a los usuarios con discapacidad visual información útil.
fuente
href='#'
yalert()
enonclick
?Y, ¿por qué no discreto con jQuery:
HTML
fuente
El JavaScript discreto tiene muchas ventajas, estos son los pasos que sigue y por qué es bueno usarlo.
el enlace se carga normalmente:
<a id="DaLink" href="http://host/toAnewPage.html"> haga clic aquí </a>
Esto es importante porque funcionará para los navegadores con JavaScript no habilitado, o si hay un error en el código de JavaScript que no funciona.
JavaScript se ejecuta en la carga de la página:
si el javascript se ejecuta con éxito, tal vez cargando el contenido en la página actual con javascript, la devolución falsa cancela la activación del enlace. en otras palabras, poner return false tiene el efecto de deshabilitar el enlace si javascript se ejecutó correctamente. Si bien permite que se ejecute si JavaScript no lo hace, realiza una buena copia de seguridad para que su contenido se muestre de cualquier manera, para los motores de búsqueda y si su código se rompe, o se ve en un sistema que no sea JavaScript.
el mejor libro sobre el tema es "Dom Scription" de Jeremy Keith
fuente
O, si estás usando PrototypeJS
fuente
Creo que puedes usar el
onclick
evento, algo como esto:fuente
basado en el uso de respuesta @mister_lucky con jquery:
Código HTML:
fuente
solo use javascript: ---- ejemplar
fuente