Curso de JavaScript
De WikiEducator
Saltar a: navegación, buscar
javaScript
Tutorial para desarrollar en Web mediante JavaScript
Contenido
Eventos
Introducción
- Todos los elementos de una página tienen asociados eventos que pueden disparar funciones de JavaScript.
- Hay eventos asociados a la ventana (etiqueta <body>), a los formularios, al ratón, al teclado y a multimedia.
- Un mismo tipo de evento puede estar asociado a elementos html diferentes.
- Aumento considerable de los eventos con html5
- Lista de eventos
- Eventos habituales en el body:
onload Esperando a que la página se cargue por completo onUnload Cuando el usuario abandona la página
- Eventos habituales sobre distintas etiquetas, para animaciones:
onMouseOver Cuando el ratón está sobre el elemento onMouseOut Cuando el ratón se mueve fuera del elemento onClick Al hacer clic con el ratón
- Eventos de formularios
onFocus Un elemento coge el foco onBlur Un elemento pierde el foco onChange Un elemento cambia onSubmit Para validar los campos de un formulario antes de enviarlos ...
Ejemplo de evento
<html> <head> <script type="text/javascript"> var txt="" function mensaje() { try { adddlert("¡Bienvenido a mi página!"); } catch(err) { txt="Ha habido un error en esta página.\n\n"; txt+="Error: " + err.description + "\n\n"; txt+="Click OK para continuar.\n\n"; alert(txt); } } </script> </head> <body> <input type="button" value="Ver mensaje" onclick="mensaje()" /> </body> </html>
Captura de errores
- El evento onerror se dispara cuando hay un error de script en la página
- Se debe crear una función que maneje el error.
- La función se llama desde el manejador de eventos de onerror con 3 argumentos:
- msg (mensaje de error)
- url (la url de la página que ha causado el error)
- line (la línea en la que ha ocurrido el error).
- Ejemplo captura de error con onerror:
<html> <head> <script type="text/javascript"> onerror=handleErr; var txt=""; function handleErr(msg,url,l) { txt="Ha habido un error en esta página.\n\n"; txt+="Error: " + msg + "\n"; txt+="URL: " + url + "\n"; txt+="Línea: " + l + "\n\n"; txt+="Pulsa ok para continuar.\n\n"; alert(txt); return true; } function mensaje() { adddlert("¡Bienvenido!"); } </script> </head> <body> <input type="button" value="View message" onclick="mensaje()" /> </body> </html>
try....catch y throw
Se pueden lanzar errores mediante throw:
<html> <body> <script type="text/javascript"> var x=prompt("Introduce un número entre 0 y 10:",""); try { if(x>10) throw "Error1"; else if(x<0) throw "Error2"; } catch(er) { if(er=="Error1") alert("¡Error! El valor es muy alto"); if(er == "Error2") alert("¡Error! El valor es muy bajo"); } </script> </body> </html>