Javascript – #4.02. Modelo de eventos tradicional

En la lección anterior vimos cómo funcionaba el modelo de eventos en línea, o eventos en atributos HTML, que permitía incluir los eventos en Javascript directamente sobre la etiqueta HTML. Como ya viste anteriormente, esta opción no es la más indicada puesto que mezcla código en diferentes lenguajes dentro del mismo archivo.

En esta lección, por el contrario, trabajaremos con el modelo de eventos tradicional, que consiste en aplicar sobre un elemento seleccionado a través de Javascript, un evento de la forma “onnombreevento” (onclick, onmouseover, onblur…).

Desde el punto de vista de la organización, esta forma es mucho más correcta, ya que separa el código HTML del código Javascript.

Sin embargo, esta opción tampoco es la más recomendada, puesto que únicamente permite asociar un solo evento del mismo tipo a un elemento. Es decir, si hiciéramos lo siguiente:

document.getElementById("parrafo").onclick = hazEsto;
document.getElementById("parrafo").onclick = hazLoOtro;

Al hacer click sobre el párrafo con id “parrafo” únicamente se ejecutaría la función hazLoOtro().

Por eso la mejor opción es siempre utilizar el Modelo de eventos de W3C, que veremos en una lección posterior.

Edu Recuerda

¡Recuerda! Aunque el modelo de eventos tradicional separa código Javascript de HTML, no permite asociar dos eventos del mismo tipo a un elemento… ¡utiliza el del W3C!

De momento echa un ojo a este vídeo para ver cómo trabajar con el modelo de eventos tradicional.

¡Consulta en la pestaña Materiales el código fuente trabajado en la lección!

¿No te ha quedado claro? ¿Quieres aportar tu punto de vista? ¡Deja tu comentario!

¡Ups! ¡Este contenido está restringido a codelovers! Inicia sesión o, si aún no eres miembro de Didacticode, regístrate!

4 comentarios
Contraer comentarios

hola laura a mi lo que me sucede es que sale el alert sin haber dado click en el parrafo,sera por que tengo el scripts en un archivo externo ?

didacticode (Administrador) 03/12/2020 a las 23:27

¡Hola, Alejo! Qué va, no tiene nada que ver… ¿no será que has puesto los paréntesis junto al nombre del método? ¿O puede que estés utilizando Chrome? O quizá es que has puesto que se cargue el script antes del body. Si quieres, pásame el código fuente y te cuento, ¿vale?

ah debe ser chrome entonces,porque el codigo esta bien.vos sabes que firefox me sale un bugs en la cuenta de gmail si entro a you tube se me cierra la sesion y tengo q activar la cuenta cada ves que salgo de you tube por eso lo desinstale

CSG_Valladares_5 13/07/2023 a las 22:55

Hola Ada una duda, ¿Qué te motivo a enseñar tus conocimientos? Perdón por el exceso de comentarios ^^

Deja un comentario