SlideShare una empresa de Scribd logo
1 de 7
EVENTOS
Las aplicaciones en JavaScript están gobernadas por eventos. Las acciones que el usuario ejecuta
con el ratón y el teclado o cualquier otro dispositivo de entrada, tales como hacer clic, doble clic,
desplazar el puntero del ratón sobre ciertas áreas, seleccionar una caja de texto o un área de texto,
etc., se denominan eventos en JavaScript. Esos eventos pueden ser asociados a cualquiera de los
objetos de una página web, de tal forma que a través de ellos y de los controladores de eventos
(handlers), se controla el comportamiento de una página que contiene una aplicación JavaScript.

A todos los objetos dentro de una página web se le pueden definir uno o más controladores que
responderán ejecutando código de JavaScript. La tabla a continuación muestra los eventos y
controladores de JavaScript, lo mismo que información acerca de a que objetos son aplicables.


        Evento                 Controlador                 Aplicable a               Descripción
Abort (abortar)           onAbort                    Imágenes                   Ejecuta código cuando se
                                                                                “aborta” la carga de una
                                                                                imagen
Blur (desenfocar,         onBlur                     Ventanas y todos los       Cuando el objeto pierde
perder                                               elementos de un            el foco, se ejecuta el
el foco)                                             formulario.                código o función
                                                                                asociada.
Change (cambiar)          onChange                   Áreas de texto, campos     Si el contenido de esos
                                                     de texto y listas de       objetos cambia se
                                                     selección                  ejecuta el código.
Click (clic)              onClick                    Botones, radio botones,    Actúa cuando se hace
                                                     cajas de selección,        clic sobre el elemento
                                                     enlaces y botones
                                                     submit y reset.
DblClick (doble clic)     onDblClick                 Elementos de un            Se ejecuta código
                                                     formulario y enlaces       cuando se hace doble
                                                                                clic sobre el elemento
DragDrop (arrastrar y     onDragDrop                 Ventanas                   El evento ocurre cuando
soltar)                                                                         se arrastra y se suelta
                                                                                un objeto sobre una
                                                                                ventana del navegador
Error (error)             onError                    Imágenes y ventanas        Ejecuta código cuando la
                                                                                carga de una imagen o
                                                                                una venta generan error
Focus (foco)              onFocus                    Ventanas y todos los       Cuando el objeto gana el
                                                     elementos de un            foco, se ejecuta el
                                                     formulario.                código o función
                                                                                asociada.
keyDown (bajar tecla)     onKeyDown                  Enlaces, imágenes,         Si el usuario oprime
                                                     áreas de texto y           determinada tecla,
                                                     documentos                 ocurre el evento.
KeyPress (oprimir         onKeyPress                 Enlaces, imágenes,         Si el usuario mantiene
tecla)                                               áreas de texto y           oprimida determinada
                                                     documentos                 tecla, ocurre el evento
KeyUp (soltar)            onKeyUp                    Enlaces, imágenes,         Se suelta un tecla que
                                                     áreas de texto y           estaba presionada
                                                     documentos
Load (cargar)             onLoad                     Cuerpo de un documento     El evento ocurre cunado
                                                                                se carga una página en
                                                                                el navegador
MouseDown                 onMouseDown                Botones, documentos y      Se ejecuta código
(presionar                                           enlaces                    cuando se oprime un
el Mouse)                                                                       botón del ratón
MouseMove (mover el       onMouseMove                Ningún objeto en           Ocurre al desplazar el
ratón)                                               especial                   puntero del ratón
MouseOut (sacar el        onMouseOut    Áreas botones y enlaces   Ocurre cuando el
Mouse)                                                            puntero del raton se
                                                                  desplaza fuera de un
                                                                  enlace o una
                                                                  imagenmapa
MouseOver (colocar el     onMouseOver   Enlaces                   El usuario desplaza el
ratón sobre)                                                      Mouse sobre un enlace
MouseUp                   onMouseUp     Botones, enlaces y        Se libera o se suelta un
                                        documentos                botón del ratón
Move (mover)              onMove        Ventanas                  Una ventana es movida
                                                                  o desplazada
Reset (limpiar, borrar)   onReset       Formularios               Se oprime un botón
                                                                  reset
Resize                    onResize      Ventanas, frames          El evento ocurre cuando
(redimensionar)                                                   se cambia la dimensión a
                                                                  una ventana o marco
Select (seleccionar)      onSelect      Campos y áreas de texto   Ocurre cuando se
                                                                  selecciona un campo de
                                                                  texto
Submit (enviar)           onSubmit      Formularios               El evento se genera
                                                                  cuando se oprime un
                                                                  botón Submit
Unload                    onUnload      Cuerpo de la página       Ocurre cuando se cierra
                                                                  o se sale de una página
Como es costumbre, para ilustrar el trabajo con eventos y controladores de evento, a
continuación se desarrolla un ejemplo. Se trata de una página que contiene una caja
de texto y un botón, ambos dentro de un formulario. El script, que se activa al
desplazar el ratón sobre el botón, mostrará una frase en el campo de texto:

        <html>
        <head>
        <title>Eventos</title>
        <script language="javascript1.3">
        function notocar()
        {
          //La siguiente línea cambia el contenido de la caja de texto
          document.formulario.caja.value=" Le dije que no me tocara !!!";
        }
        function borrar()
        {
             //La siguiente línea cambia el contenido de la caja de texto
          document.formulario.caja.value="";


       }


       </script> </head>


        <body bgcolor="#FFFFDD" text="#000000"> <form
        name="formulario" method="post" action=""> <table
        width="80%" border="0"> <tr>
            <td align="center">Respuesta <input type="text"
            name="caja" value="" size="40"></td> </tr> <tr>
              <!-- Observe los argumentos onMouseOut y onMouseOver --> <td
              align="center"><input name="Enviar" type="button"
        value="No me toque !!!" onMouseOut="borrar()"
        onMouseOver="notocar()"></td> </tr> </table> </form> </body> </html>

El script tiene definidas dos funciones: notocar() y borrar(). La primera de ellas asigna la
frase Le dije que no me tocara !!! al argumento value de la caja de texto, mientras que la
segunda borra o mejor le asigna una cadena vacía. El botón tiene dos argumentos nuevos. Se trata
de los controladores de eventos onMouseOut y onMouseOver. Cuando el usuario desplaza el
puntero del ratón sobre el botón se produce el evento MouseOver que ejecuta la función asociada a
onMouseOver, es decir, el valor de la caja de texto que se encuentra vacía cambia; y cuando el
puntero sale o se desplaza fuera del área del botón, el script ejecuta la función asociada a este
evento.

Aunque con JavaScript se puede desarrollar casi cualquier aplicación, el interés de éste módulo se
centra en utilizar este lenguaje para hacer el chequeo de los datos que el usuario ingresa en un
formulario dado. Se puede necesitar asegurarse que una caja de texto no esté vacía, que contenga
un número o limitar la longitud de la cadena a un número de caracteres máximo. Este tipo de
restricciones son inevitables cuando se trabaja con aplicaciones dinámicas, que mediante
formularios recogen datos de los usuarios y chequean su valides antes de enviarlos al servidor.
Tratar de guardar una cadena de caracteres en un campo de una base de datos que sólo admite
números generaría errores que es conveniente evitar.

En el siguiente ejemplo se desarrolla un formulario que solicita al usuario ingresar su número de
identificación.
<html>
        <head>
        <title>Chequeo</title> <script
        language="javascript1.3"> function
        chequear() {
                      x=document.form1.ide.value;
                      if(isNaN(x))
                      {
                            alert("Usted no escribió un número"); }
               else alert("Valor correcto"); } </script>
        </head>
        <body bgcolor="#FFFFDD" text="#000000"> <form
        name="form1" method="post" action=""> <table
        width="80%" border="0"> <tr>
          <td align="center">N&uacute;mero de identificaci&oacute;n <input
          type="text" name="ide" onChange="chequear()"></td> </tr> <tr>
        <td align="center"><input type="submit" name="Submit"
        value="Enviar" onClick="chequear()"></td> </tr> </table> </form>
        </body> </html>


Si el usuario ingresa cualquier cosa diferente a un número la aplicación le informará de tal hecho.

En la primera línea de la función chequear(), la variable x recibe el valor del campo “ide”, que
corresponde a lo que el usuario digite. Sí el valor de x no es numérico (isNaN), el script generará el
mensaje correspondiente. Si por el contrario se ha ingresado un número en el campo ide, la
aplicación informará al usuario que ha ingresado un valor válido. La función chequear() se
ejecuta cuando el valor del campo ide cambia (onChange="chequear()") o cuando el usuario
pulsa el botón Enviar (onClick="chequear()").


La aplicación siguiente chequea que el número de caracteres del campo código no sea inferior a
seis ni superior a doce.
<html>
       <head>
       <title>Chequeo</title> <script
       language="javascript1.3"> function
       chequeo() {
                    x=document.form1.cod.value;
                    x=x.length;
                    a="Valor ";
                    if(x<6 || x>12)
                    {
                          a+=" incorrecto."; }
       else a+=" correcto.";
       document.writeln(a); } </script>
       </head>
         <body bgcolor="#FFFFDD" text="#000000"> <form
         name="form1" method="post" action=""> <table
         width="80%" border="0"> <tr>
            <td align="center">Escriba su c&oacute;digo <input
            type="text" name="cod" onChange="chequeo()"></td>
            </tr> <tr>
         <td align="center"><input type="submit" name="Submit"
         value="Chequear" onClick="chequeo()"></td> </tr> </table> </form>
         </body> </html>


Como último ejercicio de este módulo, en la siguiente página se implementa un script que
verifica si los valores ingresados dentro de los campos X e Y son números. Si lo anterior
es cierto, valida que Y no sea cero y luego calcula el cociente X/Y, escribiendo el
resultado en el campo correspondiente.
<html>
<head>
<title>Chequeo</title>
<script language="javascript1.3">

      function dividir() {
             x=document.form1.xx.value;
             y=document.form1.yy.value;
             if(isNaN(x) || isNaN(y)) {
             //Uno o ambos valores no son números a="Ingrese
             números"; }
             else {
                    if(y == 0) {
                    //El valor de y es cero a="Error
                    !!!"; }
                    else
                    {
             //Valores correctos a=x/y; } }
        document.form1.z.value=a; }
  </script> </head>
  <body bgcolor="#FFFFDD" text="#000000"> <form
  name="form1" method="post" action=""> <table
  width="80%" border="0"> <tr>
    <td align="center">Escriba el valor de X <input
    type="text" name="xx"></td> </tr> <tr>
    <td align="center">Escriba el valor de Y <input
    type="text" name="yy"></td> </tr> <tr>
         <td align="center">X/Y=
    <input type="text" name="z" style="background-color: #000000;"
    style="color: #00cc00;"></td> </tr> <tr>
  <td align="center"><input type="button" name="Divide"
  value="Dividir" onClick="dividir()"></td> </tr> </table> </form>
  </body> </html>

Más contenido relacionado

Destacado (15)

Tec.educ. ii act. 2 unidad 1(enviado) blog
Tec.educ. ii  act. 2 unidad 1(enviado) blogTec.educ. ii  act. 2 unidad 1(enviado) blog
Tec.educ. ii act. 2 unidad 1(enviado) blog
 
ANDY CV
ANDY CVANDY CV
ANDY CV
 
Herramientas
HerramientasHerramientas
Herramientas
 
Presentación2
Presentación2Presentación2
Presentación2
 
EL FORO POP ME MIRA
EL FORO POP ME MIRAEL FORO POP ME MIRA
EL FORO POP ME MIRA
 
Icaii.Edu.1
Icaii.Edu.1Icaii.Edu.1
Icaii.Edu.1
 
Tic's
Tic'sTic's
Tic's
 
shaikh aleeem ahmed
shaikh aleeem ahmedshaikh aleeem ahmed
shaikh aleeem ahmed
 
Ahorra el agua
Ahorra el aguaAhorra el agua
Ahorra el agua
 
Simple present tense
Simple present tenseSimple present tense
Simple present tense
 
Sourgrape 주제 제안
Sourgrape 주제 제안Sourgrape 주제 제안
Sourgrape 주제 제안
 
Facultad de filosofia ciencias y letras de la
Facultad de filosofia ciencias y letras  de laFacultad de filosofia ciencias y letras  de la
Facultad de filosofia ciencias y letras de la
 
Manual escola de lideres
Manual escola de lideresManual escola de lideres
Manual escola de lideres
 
ética y moral - deontología
ética y moral - deontologíaética y moral - deontología
ética y moral - deontología
 
La innovación en la constitución
La innovación en la constituciónLa innovación en la constitución
La innovación en la constitución
 

Similar a 15eventos

Que es visual basic
Que es visual basicQue es visual basic
Que es visual basicJeansAcosta
 
Que es visual basic
Que es visual basicQue es visual basic
Que es visual basiccarlosbandez
 
Fundamentos de visual basic
Fundamentos de visual basicFundamentos de visual basic
Fundamentos de visual basicPedro Montero
 
Desarrolla aplicaciones de escritorio con bases de datos
Desarrolla aplicaciones de escritorio con bases de datosDesarrolla aplicaciones de escritorio con bases de datos
Desarrolla aplicaciones de escritorio con bases de datosGabriel Hernadez Meza
 
Desarrolla aplicaciones de escritorio con bases de datos
Desarrolla aplicaciones de escritorio con bases de datosDesarrolla aplicaciones de escritorio con bases de datos
Desarrolla aplicaciones de escritorio con bases de datosEduardo_Staiti11
 

Similar a 15eventos (8)

Que es visual basic
Que es visual basicQue es visual basic
Que es visual basic
 
Que es visual basic
Que es visual basicQue es visual basic
Que es visual basic
 
Visual basic cbtis
Visual basic cbtisVisual basic cbtis
Visual basic cbtis
 
Gabriela Chourio
Gabriela ChourioGabriela Chourio
Gabriela Chourio
 
Fundamentos de visual basic
Fundamentos de visual basicFundamentos de visual basic
Fundamentos de visual basic
 
Caraline Cañas
Caraline CañasCaraline Cañas
Caraline Cañas
 
Desarrolla aplicaciones de escritorio con bases de datos
Desarrolla aplicaciones de escritorio con bases de datosDesarrolla aplicaciones de escritorio con bases de datos
Desarrolla aplicaciones de escritorio con bases de datos
 
Desarrolla aplicaciones de escritorio con bases de datos
Desarrolla aplicaciones de escritorio con bases de datosDesarrolla aplicaciones de escritorio con bases de datos
Desarrolla aplicaciones de escritorio con bases de datos
 

Último

RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 

Último (20)

RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 

15eventos

  • 1. EVENTOS Las aplicaciones en JavaScript están gobernadas por eventos. Las acciones que el usuario ejecuta con el ratón y el teclado o cualquier otro dispositivo de entrada, tales como hacer clic, doble clic, desplazar el puntero del ratón sobre ciertas áreas, seleccionar una caja de texto o un área de texto, etc., se denominan eventos en JavaScript. Esos eventos pueden ser asociados a cualquiera de los objetos de una página web, de tal forma que a través de ellos y de los controladores de eventos (handlers), se controla el comportamiento de una página que contiene una aplicación JavaScript. A todos los objetos dentro de una página web se le pueden definir uno o más controladores que responderán ejecutando código de JavaScript. La tabla a continuación muestra los eventos y controladores de JavaScript, lo mismo que información acerca de a que objetos son aplicables. Evento Controlador Aplicable a Descripción Abort (abortar) onAbort Imágenes Ejecuta código cuando se “aborta” la carga de una imagen Blur (desenfocar, onBlur Ventanas y todos los Cuando el objeto pierde perder elementos de un el foco, se ejecuta el el foco) formulario. código o función asociada. Change (cambiar) onChange Áreas de texto, campos Si el contenido de esos de texto y listas de objetos cambia se selección ejecuta el código. Click (clic) onClick Botones, radio botones, Actúa cuando se hace cajas de selección, clic sobre el elemento enlaces y botones submit y reset. DblClick (doble clic) onDblClick Elementos de un Se ejecuta código formulario y enlaces cuando se hace doble clic sobre el elemento DragDrop (arrastrar y onDragDrop Ventanas El evento ocurre cuando soltar) se arrastra y se suelta un objeto sobre una ventana del navegador Error (error) onError Imágenes y ventanas Ejecuta código cuando la carga de una imagen o una venta generan error Focus (foco) onFocus Ventanas y todos los Cuando el objeto gana el elementos de un foco, se ejecuta el formulario. código o función asociada. keyDown (bajar tecla) onKeyDown Enlaces, imágenes, Si el usuario oprime áreas de texto y determinada tecla, documentos ocurre el evento. KeyPress (oprimir onKeyPress Enlaces, imágenes, Si el usuario mantiene tecla) áreas de texto y oprimida determinada documentos tecla, ocurre el evento KeyUp (soltar) onKeyUp Enlaces, imágenes, Se suelta un tecla que áreas de texto y estaba presionada documentos Load (cargar) onLoad Cuerpo de un documento El evento ocurre cunado se carga una página en el navegador MouseDown onMouseDown Botones, documentos y Se ejecuta código (presionar enlaces cuando se oprime un el Mouse) botón del ratón MouseMove (mover el onMouseMove Ningún objeto en Ocurre al desplazar el ratón) especial puntero del ratón
  • 2. MouseOut (sacar el onMouseOut Áreas botones y enlaces Ocurre cuando el Mouse) puntero del raton se desplaza fuera de un enlace o una imagenmapa MouseOver (colocar el onMouseOver Enlaces El usuario desplaza el ratón sobre) Mouse sobre un enlace MouseUp onMouseUp Botones, enlaces y Se libera o se suelta un documentos botón del ratón Move (mover) onMove Ventanas Una ventana es movida o desplazada Reset (limpiar, borrar) onReset Formularios Se oprime un botón reset Resize onResize Ventanas, frames El evento ocurre cuando (redimensionar) se cambia la dimensión a una ventana o marco Select (seleccionar) onSelect Campos y áreas de texto Ocurre cuando se selecciona un campo de texto Submit (enviar) onSubmit Formularios El evento se genera cuando se oprime un botón Submit Unload onUnload Cuerpo de la página Ocurre cuando se cierra o se sale de una página
  • 3. Como es costumbre, para ilustrar el trabajo con eventos y controladores de evento, a continuación se desarrolla un ejemplo. Se trata de una página que contiene una caja de texto y un botón, ambos dentro de un formulario. El script, que se activa al desplazar el ratón sobre el botón, mostrará una frase en el campo de texto: <html> <head> <title>Eventos</title> <script language="javascript1.3"> function notocar() { //La siguiente línea cambia el contenido de la caja de texto document.formulario.caja.value=" Le dije que no me tocara !!!"; } function borrar() { //La siguiente línea cambia el contenido de la caja de texto document.formulario.caja.value=""; } </script> </head> <body bgcolor="#FFFFDD" text="#000000"> <form name="formulario" method="post" action=""> <table width="80%" border="0"> <tr> <td align="center">Respuesta <input type="text" name="caja" value="" size="40"></td> </tr> <tr> <!-- Observe los argumentos onMouseOut y onMouseOver --> <td align="center"><input name="Enviar" type="button" value="No me toque !!!" onMouseOut="borrar()" onMouseOver="notocar()"></td> </tr> </table> </form> </body> </html> El script tiene definidas dos funciones: notocar() y borrar(). La primera de ellas asigna la frase Le dije que no me tocara !!! al argumento value de la caja de texto, mientras que la segunda borra o mejor le asigna una cadena vacía. El botón tiene dos argumentos nuevos. Se trata de los controladores de eventos onMouseOut y onMouseOver. Cuando el usuario desplaza el puntero del ratón sobre el botón se produce el evento MouseOver que ejecuta la función asociada a onMouseOver, es decir, el valor de la caja de texto que se encuentra vacía cambia; y cuando el puntero sale o se desplaza fuera del área del botón, el script ejecuta la función asociada a este evento. Aunque con JavaScript se puede desarrollar casi cualquier aplicación, el interés de éste módulo se centra en utilizar este lenguaje para hacer el chequeo de los datos que el usuario ingresa en un formulario dado. Se puede necesitar asegurarse que una caja de texto no esté vacía, que contenga un número o limitar la longitud de la cadena a un número de caracteres máximo. Este tipo de restricciones son inevitables cuando se trabaja con aplicaciones dinámicas, que mediante formularios recogen datos de los usuarios y chequean su valides antes de enviarlos al servidor. Tratar de guardar una cadena de caracteres en un campo de una base de datos que sólo admite números generaría errores que es conveniente evitar. En el siguiente ejemplo se desarrolla un formulario que solicita al usuario ingresar su número de identificación.
  • 4.
  • 5. <html> <head> <title>Chequeo</title> <script language="javascript1.3"> function chequear() { x=document.form1.ide.value; if(isNaN(x)) { alert("Usted no escribió un número"); } else alert("Valor correcto"); } </script> </head> <body bgcolor="#FFFFDD" text="#000000"> <form name="form1" method="post" action=""> <table width="80%" border="0"> <tr> <td align="center">N&uacute;mero de identificaci&oacute;n <input type="text" name="ide" onChange="chequear()"></td> </tr> <tr> <td align="center"><input type="submit" name="Submit" value="Enviar" onClick="chequear()"></td> </tr> </table> </form> </body> </html> Si el usuario ingresa cualquier cosa diferente a un número la aplicación le informará de tal hecho. En la primera línea de la función chequear(), la variable x recibe el valor del campo “ide”, que corresponde a lo que el usuario digite. Sí el valor de x no es numérico (isNaN), el script generará el mensaje correspondiente. Si por el contrario se ha ingresado un número en el campo ide, la aplicación informará al usuario que ha ingresado un valor válido. La función chequear() se ejecuta cuando el valor del campo ide cambia (onChange="chequear()") o cuando el usuario pulsa el botón Enviar (onClick="chequear()"). La aplicación siguiente chequea que el número de caracteres del campo código no sea inferior a seis ni superior a doce.
  • 6. <html> <head> <title>Chequeo</title> <script language="javascript1.3"> function chequeo() { x=document.form1.cod.value; x=x.length; a="Valor "; if(x<6 || x>12) { a+=" incorrecto."; } else a+=" correcto."; document.writeln(a); } </script> </head> <body bgcolor="#FFFFDD" text="#000000"> <form name="form1" method="post" action=""> <table width="80%" border="0"> <tr> <td align="center">Escriba su c&oacute;digo <input type="text" name="cod" onChange="chequeo()"></td> </tr> <tr> <td align="center"><input type="submit" name="Submit" value="Chequear" onClick="chequeo()"></td> </tr> </table> </form> </body> </html> Como último ejercicio de este módulo, en la siguiente página se implementa un script que verifica si los valores ingresados dentro de los campos X e Y son números. Si lo anterior es cierto, valida que Y no sea cero y luego calcula el cociente X/Y, escribiendo el resultado en el campo correspondiente.
  • 7. <html> <head> <title>Chequeo</title> <script language="javascript1.3"> function dividir() { x=document.form1.xx.value; y=document.form1.yy.value; if(isNaN(x) || isNaN(y)) { //Uno o ambos valores no son números a="Ingrese números"; } else { if(y == 0) { //El valor de y es cero a="Error !!!"; } else { //Valores correctos a=x/y; } } document.form1.z.value=a; } </script> </head> <body bgcolor="#FFFFDD" text="#000000"> <form name="form1" method="post" action=""> <table width="80%" border="0"> <tr> <td align="center">Escriba el valor de X <input type="text" name="xx"></td> </tr> <tr> <td align="center">Escriba el valor de Y <input type="text" name="yy"></td> </tr> <tr> <td align="center">X/Y= <input type="text" name="z" style="background-color: #000000;" style="color: #00cc00;"></td> </tr> <tr> <td align="center"><input type="button" name="Divide" value="Dividir" onClick="dividir()"></td> </tr> </table> </form> </body> </html>