< Return to Video

Agregando detectores de eventos (Versión en Video)

  • 0:00 - 0:06
    He creado esta página para que practiquemos con ella.
  • 0:06 - 0:08
    De hecho es muy aburrida.
  • 0:08 - 0:12
    No tiene ningún contenido y este botón
  • 0:12 - 0:16
    no hace absolutamente nada cuando presiono el ratón sobre él.
  • 0:16 - 0:19
    Vamos a hacer que este botón sea interactivo.
  • 0:19 - 0:21
    Para que cuando el usuario presione el ratón sobre él,
  • 0:21 - 0:24
    el texto que está dentro del botón cambie.
  • 0:24 - 0:27
    El primer paso es encontrar el elemento
  • 0:27 - 0:30
    en el que queremos poner un detector de eventos.
  • 0:30 - 0:33
    Y en este caso ese elemento es el botón.
  • 0:33 - 0:36
    Y el botón nos da una idea de que se tiene que presionar el ratón en él.
  • 0:36 - 0:39
    Así que vamos a crear una variable "clicker Button"
  • 0:39 - 0:45
    y vamos a usar "document.getElementById"
  • 0:45 - 0:49
    para obtener el elemento y almacenarlo en esa variable.
  • 0:49 - 0:53
    El siguiente paso es definir una función
  • 0:53 - 0:57
    que será llamada una vez que suceda el evento "click", es decir, que se presione el ratón.
  • 0:57 - 1:02
    La voy a llamar en "onButtonClick",
  • 1:02 - 1:07
    y voy a poner mi función vacía,
  • 1:07 - 1:10
    y claro que tengo que poner algo aquí dentro,
  • 1:10 - 1:12
    sino no será una función muy interesante.
  • 1:12 - 1:15
    Entonces, para cambiar el texto en el botón, podemos usar
  • 1:15 - 1:20
    la variable "clickerButton" y definir el contenido de "textContent".
  • 1:20 - 1:25
    "Oh wow, you clicked me" (Oh wow, presionaste el ratón sobre mí.)
  • 1:25 - 1:27
    ¡Viva, qué botón tan feliz!
  • 1:27 - 1:29
    No es mucho código pero más tarde
  • 1:29 - 1:33
    podemos hacer algo más complicado, una vez que logremos que funcione.
  • 1:33 - 1:38
    Todo lo que hemos hecho hasta aquí con nuestro código es definir variables.
  • 1:38 - 1:42
    Así que sigue sin pasar nada cuando presionamos el botón.
  • 1:42 - 1:45
    El paso final para juntarlo todo,
  • 1:45 - 1:49
    es decirle al navegador que debería llamar
  • 1:49 - 1:52
    a la función que definimos siempre que el evento "click"
  • 1:52 - 1:55
    suceda en el botón que encontramos.
  • 1:55 - 1:59
    Podemos hacer eso usando "addEventListener",
  • 1:59 - 2:01
    en el elemento "Button".
  • 2:01 - 2:06
    "clickerButton.addEventListener();"
  • 2:06 - 2:11
    Y le tenemos que pasar dos argumentos a este método.
  • 2:11 - 2:15
    El primero es el nombre del evento "click",
  • 2:15 - 2:18
    y el segundo es el nombre de la función que queremos llamar,
  • 2:18 - 2:23
    cuando el evento suceda: "onButtonClick".
  • 2:23 - 2:28
    Ahora, pausa esta guía paso a paso y presiona el ratón.
  • 2:29 - 2:30
    ¿Funcionó?
  • 2:30 - 2:33
    Eso espero, a mí si me funcionó.
  • 2:33 - 2:36
    Vamos a hablar más acerca de lo que hace esta función,
  • 2:36 - 2:38
    porque es un poco difícil.
  • 2:38 - 2:41
    A esta función la llamamos la función del detector de eventos,
  • 2:41 - 2:47
    o la función de tipo "callback", porque esa es la manera en que la usamos.
  • 2:47 - 2:51
    Sólo queremos llamar a la función si el evento sucede.
  • 2:51 - 2:56
    Generalmente no queremos llamar a la función cuando se carga la página.
  • 2:56 - 2:58
    Si quisiéramos llamar a la función cuando la página se carga,
  • 2:58 - 3:03
    entonces tendíamos que añadir una línea, como ésta, en la parte de abajo.
  • 3:03 - 3:07
    Fíjate en los paréntesis que ponemos después de la función,
  • 3:07 - 3:10
    recuerda, poner paréntesis es la manera en que llamamos una función.
  • 3:10 - 3:14
    Si no los ponemos, entonces no estaremos llamando la función,
  • 3:14 - 3:17
    sólo estaremos haciendo referencia a ella, y es lo que estamos haciendo
  • 3:17 - 3:19
    cuando la pasamos como un argumento en esta línea.
  • 3:19 - 3:21
    Sólo le estamos diciendo al navegador:
  • 3:21 - 3:23
    "Oye, aquí hay una función que deberás
  • 3:23 - 3:26
    llamar más tarde, ahora no".
  • 3:27 - 3:32
    Así que asegúrate de no poner paréntesis aquí después del nombre de la función,
  • 3:32 - 3:36
    porque entonces sólo estarías pasando el valor que te regresa la función
  • 3:36 - 3:38
    y no la función en sí misma.
  • 3:38 - 3:40
    Si accidentalmente hiciera eso,
  • 3:40 - 3:42
    vería el texto del botón cambiado cuando cargara la página,
  • 3:42 - 3:44
    y no vería ningún cambio después.
  • 3:44 - 3:47
    Para arreglar eso, sólo debo quitar los paréntesis
  • 3:47 - 3:50
    que puse accidentalmente, y ahora mi función
  • 3:50 - 3:54
    sólo se llamará cuando presione el ratón sobre el botón.
  • 3:54 - 3:57
    Otra manera en la que podemos hacer esto
  • 3:57 - 4:03
    es pasando una función anónima a este método que tenemos aquí.
  • 4:03 - 4:06
    Una función anónima es una función que no tiene un nombre,
  • 4:06 - 4:10
    y que simplemente especificamos en línea.
  • 4:10 - 4:15
    Voy a copiar y pegar la línea que añade el detector de eventos,
  • 4:15 - 4:18
    y te voy a mostrar esta opción paso a paso,
  • 4:18 - 4:20
    para que veas lo que quiero decir.
  • 4:20 - 4:23
    Voy a borrar el nombre de la función,
  • 4:23 - 4:26
    y la voy a reemplazar con la definición de la función.
  • 4:26 - 4:32
    Sólo tengo que pegar esto aquí, ok.
  • 4:32 - 4:38
    Entonces, estas dos líneas de código hacen exactamente lo mismo.
  • 4:38 - 4:40
    Bueno, casi exactamente lo mismo.
  • 4:40 - 4:42
    Las dos están pasando una función
  • 4:42 - 4:44
    con el mismo código dentro.
  • 4:44 - 4:50
    La diferencia es que la primera pasa el nombre de una función que definimos arriba,
  • 4:50 - 4:55
    y la segunda está definiendo la función anónima en línea,
  • 4:55 - 4:58
    al mismo tiempo que la pasa.
  • 4:58 - 5:03
    Las dos técnicas funcionan, muchos desarrolladores prefieren las funciones con nombre
  • 5:03 - 5:06
    porque es más fácil leer el código,
  • 5:06 - 5:08
    y podría ser un poco más fácil depurar,
  • 5:08 - 5:10
    y luego podrías llamar las funciones con nombre
  • 5:10 - 5:13
    en otro momento o desde otros eventos.
  • 5:13 - 5:16
    Pero depende de ti qué usar,
  • 5:16 - 5:18
    solamente no uses las dos al mismo tiempo, porque entonces
  • 5:18 - 5:21
    el navegador terminará por llamar a las dos funciones
  • 5:21 - 5:22
    cuando el evento "click" suceda,
  • 5:22 - 5:26
    y no hay una razón para llamar esta función dos veces.
  • 5:26 - 5:29
    Voy a continuar y voy a borrar la versión anónima de la función,
  • 5:29 - 5:32
    porque prefiero la primera forma.
  • 5:32 - 5:34
    Hay muchas cosas que puedes hacer ahora que
  • 5:34 - 5:36
    sabes cómo añadir detectores de eventos.
  • 5:36 - 5:38
    Podrías añadirlos a varias partes de tu página,
  • 5:38 - 5:40
    podrías detectar diferente eventos,
  • 5:40 - 5:42
    estaremos hablando de esto después,
  • 5:42 - 5:44
    y podrías modificar el DOM con cualquiera
  • 5:44 - 5:46
    de las formas que aprendiste antes.
  • 5:46 - 5:48
    Y no sólo tienes que modificar el elemento
  • 5:48 - 5:50
    con el cual estás teniendo una interacción,
  • 5:50 - 5:53
    puedes modificar cualquier cosa en la página.
  • 5:53 - 5:56
    Pruébalo y descubre lo que puedes hacer.
Title:
Agregando detectores de eventos (Versión en Video)
Description:

more » « less
Video Language:
English
Duration:
05:57

Spanish, Mexican subtitles

Revisions