En el caso de estas últimas, lo normal es que se abran tras pulsar el usuario sobre un enlace o un botón. El uso de botones con el evento onclick se debería evitar, ya que supone una barrera de accesibilidad en el caso de que JavaScript no esté disponible. Por tanto, nos vamos a centrar en las ventanas emergentes activadas al pulsar sobre un enlace.
En el href de un enlace se puede utilizar directamente JavaScript. Por ejemplo, suponiendo que tenemos la función popUp que abre una ventana emergente:
simplemente tenemos que escribir javascript:popUp('http://www.ua.es/') en la dirección del enlace. También se puede emplear el evento onclick y dejar la dirección en blanco o poner el símbolo "#":
function popUp(winURL) {
window.open(winURL,"popup","width=320,height=480");
}
La solución es muy sencilla:
- Añadir en el enlace una URL al contenido que se desea visualizar.
- En el código JavaScript, añadir return false; al final para evitar que se ejecute el enlace cuando se ejecute el código JavaScript. La URL del enlace indicada con href sólo será empleada cuando JavaScript no esté disponible.
La solución anterior se puede mejorar para evitar el tener que repetir la URL tanto en el enlace como en el evento onclick:
- Dificulta la escritura.
- Dificulta la lectura.
- Dificulta el mantenimiento.
¿No se puede separar el código JavaScript del código HTML como se hace con CSS?
No hay comentarios:
Publicar un comentario