El documento describe los diferentes modelos de gestión de eventos en JavaScript a lo largo del tiempo, incluyendo el modelo de registro de eventos en línea, el modelo de registro de eventos tradicional, y el modelo de registro avanzado según el W3C. Explica conceptos como la propagación de eventos, el uso de this, y cómo registrar, eliminar y disparar manualmente eventos en cada modelo.
El documento describe eventos en JavaScript. Explica que los eventos definen las acciones del usuario en la página, como clicks del mouse o pulsaciones de teclas. Describe cómo detectar eventos y asociarles código mediante event handlers. Explica los tipos de eventos como de mouse, teclado o página y cómo manejar eventos desde la página o código JavaScript.
El documento explica cómo manejar eventos en JavaScript para dotar de dinamismo a las páginas web. Describe los diferentes eventos que se pueden manejar y tres formas de definir manejadores de eventos, recomendando la técnica de manejadores semánticos que mantiene separado el contenido de la página de su comportamiento mediante funciones externas y propiedades DOM.
Este documento describe SyntheticEvent, el contenedor de eventos utilizado por React. SyntheticEvent normaliza los eventos del navegador para que tengan propiedades consistentes entre navegadores. Se pasa a los manejadores de eventos en lugar del evento nativo del navegador. Ofrece la misma interfaz que el evento nativo pero funciona de forma idéntica en todos los navegadores. También describe los diferentes tipos de eventos soportados por React como eventos de ratón, teclado, formulario y táctiles.
Este documento explora los eventos en JavaScript, incluyendo eventos sin DOM, DOM-0 y DOM-2. Explica cómo configurar eventos como click, mouseover y keypress y cómo modificar su comportamiento. También proporciona una lista de los principales eventos y sus acciones asociadas, y discute conceptos como el foco y cómo bloquear la acción predeterminada de ciertos eventos.
Este documento explica qué son los Web Workers y para qué sirven. Los Web Workers permiten ejecutar scripts en segundo plano para realizar tareas intensivas sin bloquear la interfaz de usuario. El documento incluye ejemplos de código que muestran cómo crear workers, comunicarse con ellos a través de mensajes y casos prácticos de su uso.
Este documento introduce los conceptos básicos de la programación orientada a eventos. Explica que este tipo de programación permite al usuario construir aplicaciones interactivas utilizando interfaces gráficas que responden a eventos como clics del mouse u otras acciones del usuario. Define eventos, propiedades y métodos como elementos clave y describe los diferentes tipos de programas como secuenciales, interactivos y orientados a eventos.
Este documento describe los objetos del navegador en JavaScript, incluyendo Window, Document y Navigator. La jerarquía principal comienza con el objeto Window que representa cada ventana del navegador. El objeto Document representa el documento HTML dentro de una ventana. Estos objetos proveen métodos y propiedades para controlar características del navegador como mensajes en la barra de estado, creación de ventanas y acceso a marcos.
1) Action Script 3.0 es el lenguaje de programación utilizado en Flash que permite controlar todos los aspectos de una película Flash. 2) Es un lenguaje orientado a objetos basado en ECMAScript que tiene similitudes con JavaScript. 3) Los botones en Flash pueden programarse para responder a eventos como clicks del mouse mediante la adición de listeners que ejecutan funciones de callback.
El documento describe eventos en JavaScript. Explica que los eventos definen las acciones del usuario en la página, como clicks del mouse o pulsaciones de teclas. Describe cómo detectar eventos y asociarles código mediante event handlers. Explica los tipos de eventos como de mouse, teclado o página y cómo manejar eventos desde la página o código JavaScript.
El documento explica cómo manejar eventos en JavaScript para dotar de dinamismo a las páginas web. Describe los diferentes eventos que se pueden manejar y tres formas de definir manejadores de eventos, recomendando la técnica de manejadores semánticos que mantiene separado el contenido de la página de su comportamiento mediante funciones externas y propiedades DOM.
Este documento describe SyntheticEvent, el contenedor de eventos utilizado por React. SyntheticEvent normaliza los eventos del navegador para que tengan propiedades consistentes entre navegadores. Se pasa a los manejadores de eventos en lugar del evento nativo del navegador. Ofrece la misma interfaz que el evento nativo pero funciona de forma idéntica en todos los navegadores. También describe los diferentes tipos de eventos soportados por React como eventos de ratón, teclado, formulario y táctiles.
Este documento explora los eventos en JavaScript, incluyendo eventos sin DOM, DOM-0 y DOM-2. Explica cómo configurar eventos como click, mouseover y keypress y cómo modificar su comportamiento. También proporciona una lista de los principales eventos y sus acciones asociadas, y discute conceptos como el foco y cómo bloquear la acción predeterminada de ciertos eventos.
Este documento explica qué son los Web Workers y para qué sirven. Los Web Workers permiten ejecutar scripts en segundo plano para realizar tareas intensivas sin bloquear la interfaz de usuario. El documento incluye ejemplos de código que muestran cómo crear workers, comunicarse con ellos a través de mensajes y casos prácticos de su uso.
Este documento introduce los conceptos básicos de la programación orientada a eventos. Explica que este tipo de programación permite al usuario construir aplicaciones interactivas utilizando interfaces gráficas que responden a eventos como clics del mouse u otras acciones del usuario. Define eventos, propiedades y métodos como elementos clave y describe los diferentes tipos de programas como secuenciales, interactivos y orientados a eventos.
Este documento describe los objetos del navegador en JavaScript, incluyendo Window, Document y Navigator. La jerarquía principal comienza con el objeto Window que representa cada ventana del navegador. El objeto Document representa el documento HTML dentro de una ventana. Estos objetos proveen métodos y propiedades para controlar características del navegador como mensajes en la barra de estado, creación de ventanas y acceso a marcos.
1) Action Script 3.0 es el lenguaje de programación utilizado en Flash que permite controlar todos los aspectos de una película Flash. 2) Es un lenguaje orientado a objetos basado en ECMAScript que tiene similitudes con JavaScript. 3) Los botones en Flash pueden programarse para responder a eventos como clicks del mouse mediante la adición de listeners que ejecutan funciones de callback.
Este documento proporciona una introducción a ActionScript 3.0, el lenguaje de programación utilizado en Adobe Flash. Explica que ActionScript 3.0 es un lenguaje orientado a objetos basado en ECMAScript que permite controlar completamente una película Flash. También describe algunas características clave como la capacidad de agregar eventos a objetos y modificar sus propiedades, y proporciona ejemplos de código ActionScript para botones que realizan acciones como ir a un fotograma específico o abrir una página web al
Este documento proporciona una introducción a ActionScript 3.0, el lenguaje de programación utilizado en Adobe Flash. Explica que ActionScript 3.0 es un lenguaje orientado a objetos basado en ECMAScript que permite controlar todos los aspectos de una película Flash. También describe algunos ejemplos básicos de código ActionScript para botones que realizan acciones como ir a un fotograma específico o abrir una página web al hacer clic.
Este documento introduce jQuery y jQuery Mobile. jQuery es una biblioteca JavaScript de código abierto que facilita el desarrollo del lado del cliente en aplicaciones web. jQuery Mobile extiende jQuery para crear aplicaciones móviles. El documento explica cómo configurar y usar jQuery y jQuery Mobile, incluida la manipulación del DOM, el manejo de eventos y las llamadas Ajax.
Este documento describe el lenguaje de programación ActionScript y cómo se utiliza en Adobe Flash. Explica que ActionScript nos permite controlar totalmente las películas de Flash y da ejemplos de código ActionScript para botones, incluyendo cómo asignar acciones a botones para navegar entre diferentes secciones de una presentación de Flash.
Este documento describe el lenguaje de programación ActionScript y cómo se usa en Adobe Flash. Explica que ActionScript nos permite controlar totalmente una película Flash y da ejemplos de código ActionScript para botones, incluyendo cómo asignar acciones a botones para navegar entre diferentes secciones de una presentación Flash.
Este documento describe el lenguaje de programación ActionScript y cómo se usa en Adobe Flash. Explica que ActionScript nos permite controlar totalmente una película Flash y da ejemplos de su sintaxis como el uso de eventos, variables globales y códigos para botones. También cubre cómo crear navegación entre secciones en Flash usando botones y acciones.
El documento explica tres tipos de eventos en JavaScript: el evento onclick que se dispara cuando se hace clic en un elemento, el evento onload que se ejecuta cuando se han cargado todos los elementos de la página web, y los eventos onmouseover y onmouseout que se activan cuando el puntero del mouse entra u sale de un elemento.
Este documento describe la programación en el lado del cliente en la Web. Explica que las aplicaciones en el lado del cliente pueden mejorar la velocidad y rendimiento al manejar objetos y eventos localmente sin necesidad de comunicación con el servidor. Detalla las tecnologías como lenguajes de script como JavaScript y VBScript que permiten codificar aplicaciones pequeñas en el navegador para manipular objetos en la página, controlar eventos del usuario y validar formularios.
Los eventos son acciones a las que ActionScript puede responder, como hacer clic o presionar teclas. Para gestionar eventos se debe especificar el origen del evento, el tipo de evento y la respuesta. Se proporcionan tres ejemplos de código para reproducir un clip de video al hacer clic, actualizar un campo de texto a medida que se escribe y navegar a un URL al hacer clic.
jQuery es una biblioteca JavaScript que simplifica la manipulación del DOM, el manejo de eventos y la interacción AJAX. Se puede descargar o incluir desde un CDN como Google. La sintaxis básica es $(selector).acción() para seleccionar elementos y realizar acciones. jQuery también facilita el manejo de eventos como click, hover, focus y blur.
1) El documento introduce JavaScript, un lenguaje de scripting orientado a páginas web desarrollado originalmente por Netscape y Sun Microsystems en 1995.
2) Explica que JavaScript permite mejorar la funcionalidad y dinamismo de páginas HTML.
3) Describe algunas funciones básicas de JavaScript como prompt(), alert() y confirm() y cómo se pueden invocar scripts dentro de páginas HTML.
1) El documento introduce JavaScript, un lenguaje de scripting interpretado para páginas web desarrollado originalmente por Netscape en 1995.
2) Explica que JavaScript permite mejorar la funcionalidad e interactividad de páginas HTML mediante funciones como recoger datos de formularios.
3) Proporciona ejemplos de código JavaScript para posicionar imágenes y asignar archivos de audio a páginas web.
Este documento presenta una introducción a JavaScript, incluyendo su historia, propósito y funciones básicas. Explica que JavaScript es un lenguaje de scripting interpretado en el navegador que mejora la funcionalidad de páginas web. También describe ejemplos de código JavaScript para posicionar imágenes y agregar música a páginas, así como operadores y objetos de ventanas importantes en JavaScript.
4. Agregar Codigo A Los Formularios Web Formguest3cf6ff
Este documento describe cómo agregar código a un formulario Web Form con Microsoft ASP.NET. Explica tres métodos para agregar código, incluido el uso de páginas de código subyacente para separar el código de la interfaz de usuario. También cubre cómo crear procedimientos de evento para controlar eventos de controles como botones, y cómo manejar eventos de página como Page_Load.
Este documento describe los componentes Swing para interfaces de usuario en Java, incluyendo menús, botones de opción, eventos de pintado y más. Explica cómo crear y manipular estos componentes, así como conceptos fundamentales como jerarquías de clases, eventos y patrones de diseño comunes.
Este documento introduce el lenguaje de programación ActionScript 3.0 usado en Flash CS5. Explica que ActionScript permite controlar completamente una película Flash y que se trata de un lenguaje de script orientado a objetos similar a JavaScript. También muestra ejemplos básicos de código ActionScript para botones que permiten realizar acciones como cambiar de fotograma o abrir una página web al hacer clic.
El ActionScript es el lenguaje de programación utilizado por Flash que permite controlar todos los aspectos de una película Flash. Este documento introduce brevemente ActionScript 3, incluyendo sus características como un lenguaje orientado a objetos similar a JavaScript, y explica cómo añadir código de acción a botones para que respondan a eventos como clicks del mouse.
The document discusses various events, properties, and controls in Visual Basic, providing an overview of common events like loading, unloading, and painting forms as well as mouse, keyboard, and focus events. It also covers general properties for controls like appearance, font, and colors. The document is intended as an introduction and does not cover all possible Visual Basic capabilities and events.
Este documento proporciona una introducción a ActionScript 3.0, el lenguaje de programación utilizado en Adobe Flash. Explica que ActionScript 3.0 es un lenguaje orientado a objetos basado en ECMAScript que permite controlar completamente una película Flash. También describe algunas características clave como la capacidad de agregar eventos a objetos y modificar sus propiedades, y proporciona ejemplos de código ActionScript para botones que realizan acciones como ir a un fotograma específico o abrir una página web al
Este documento proporciona una introducción a ActionScript 3.0, el lenguaje de programación utilizado en Adobe Flash. Explica que ActionScript 3.0 es un lenguaje orientado a objetos basado en ECMAScript que permite controlar todos los aspectos de una película Flash. También describe algunos ejemplos básicos de código ActionScript para botones que realizan acciones como ir a un fotograma específico o abrir una página web al hacer clic.
Este documento introduce jQuery y jQuery Mobile. jQuery es una biblioteca JavaScript de código abierto que facilita el desarrollo del lado del cliente en aplicaciones web. jQuery Mobile extiende jQuery para crear aplicaciones móviles. El documento explica cómo configurar y usar jQuery y jQuery Mobile, incluida la manipulación del DOM, el manejo de eventos y las llamadas Ajax.
Este documento describe el lenguaje de programación ActionScript y cómo se utiliza en Adobe Flash. Explica que ActionScript nos permite controlar totalmente las películas de Flash y da ejemplos de código ActionScript para botones, incluyendo cómo asignar acciones a botones para navegar entre diferentes secciones de una presentación de Flash.
Este documento describe el lenguaje de programación ActionScript y cómo se usa en Adobe Flash. Explica que ActionScript nos permite controlar totalmente una película Flash y da ejemplos de código ActionScript para botones, incluyendo cómo asignar acciones a botones para navegar entre diferentes secciones de una presentación Flash.
Este documento describe el lenguaje de programación ActionScript y cómo se usa en Adobe Flash. Explica que ActionScript nos permite controlar totalmente una película Flash y da ejemplos de su sintaxis como el uso de eventos, variables globales y códigos para botones. También cubre cómo crear navegación entre secciones en Flash usando botones y acciones.
El documento explica tres tipos de eventos en JavaScript: el evento onclick que se dispara cuando se hace clic en un elemento, el evento onload que se ejecuta cuando se han cargado todos los elementos de la página web, y los eventos onmouseover y onmouseout que se activan cuando el puntero del mouse entra u sale de un elemento.
Este documento describe la programación en el lado del cliente en la Web. Explica que las aplicaciones en el lado del cliente pueden mejorar la velocidad y rendimiento al manejar objetos y eventos localmente sin necesidad de comunicación con el servidor. Detalla las tecnologías como lenguajes de script como JavaScript y VBScript que permiten codificar aplicaciones pequeñas en el navegador para manipular objetos en la página, controlar eventos del usuario y validar formularios.
Los eventos son acciones a las que ActionScript puede responder, como hacer clic o presionar teclas. Para gestionar eventos se debe especificar el origen del evento, el tipo de evento y la respuesta. Se proporcionan tres ejemplos de código para reproducir un clip de video al hacer clic, actualizar un campo de texto a medida que se escribe y navegar a un URL al hacer clic.
jQuery es una biblioteca JavaScript que simplifica la manipulación del DOM, el manejo de eventos y la interacción AJAX. Se puede descargar o incluir desde un CDN como Google. La sintaxis básica es $(selector).acción() para seleccionar elementos y realizar acciones. jQuery también facilita el manejo de eventos como click, hover, focus y blur.
1) El documento introduce JavaScript, un lenguaje de scripting orientado a páginas web desarrollado originalmente por Netscape y Sun Microsystems en 1995.
2) Explica que JavaScript permite mejorar la funcionalidad y dinamismo de páginas HTML.
3) Describe algunas funciones básicas de JavaScript como prompt(), alert() y confirm() y cómo se pueden invocar scripts dentro de páginas HTML.
1) El documento introduce JavaScript, un lenguaje de scripting interpretado para páginas web desarrollado originalmente por Netscape en 1995.
2) Explica que JavaScript permite mejorar la funcionalidad e interactividad de páginas HTML mediante funciones como recoger datos de formularios.
3) Proporciona ejemplos de código JavaScript para posicionar imágenes y asignar archivos de audio a páginas web.
Este documento presenta una introducción a JavaScript, incluyendo su historia, propósito y funciones básicas. Explica que JavaScript es un lenguaje de scripting interpretado en el navegador que mejora la funcionalidad de páginas web. También describe ejemplos de código JavaScript para posicionar imágenes y agregar música a páginas, así como operadores y objetos de ventanas importantes en JavaScript.
4. Agregar Codigo A Los Formularios Web Formguest3cf6ff
Este documento describe cómo agregar código a un formulario Web Form con Microsoft ASP.NET. Explica tres métodos para agregar código, incluido el uso de páginas de código subyacente para separar el código de la interfaz de usuario. También cubre cómo crear procedimientos de evento para controlar eventos de controles como botones, y cómo manejar eventos de página como Page_Load.
Este documento describe los componentes Swing para interfaces de usuario en Java, incluyendo menús, botones de opción, eventos de pintado y más. Explica cómo crear y manipular estos componentes, así como conceptos fundamentales como jerarquías de clases, eventos y patrones de diseño comunes.
Este documento introduce el lenguaje de programación ActionScript 3.0 usado en Flash CS5. Explica que ActionScript permite controlar completamente una película Flash y que se trata de un lenguaje de script orientado a objetos similar a JavaScript. También muestra ejemplos básicos de código ActionScript para botones que permiten realizar acciones como cambiar de fotograma o abrir una página web al hacer clic.
El ActionScript es el lenguaje de programación utilizado por Flash que permite controlar todos los aspectos de una película Flash. Este documento introduce brevemente ActionScript 3, incluyendo sus características como un lenguaje orientado a objetos similar a JavaScript, y explica cómo añadir código de acción a botones para que respondan a eventos como clicks del mouse.
The document discusses various events, properties, and controls in Visual Basic, providing an overview of common events like loading, unloading, and painting forms as well as mouse, keyboard, and focus events. It also covers general properties for controls like appearance, font, and colors. The document is intended as an introduction and does not cover all possible Visual Basic capabilities and events.
Equipo 4. Mezclado de Polímeros quimica de polimeros.pptxangiepalacios6170
Presentacion de mezclado de polimeros, de la materia de Quimica de Polímeros ultima unidad. Se describe la definición y los tipos de mezclado asi como los aditivos usados para mejorar las propiedades de las mezclas de polimeros
2. Eventos
JavaScript fue diseñado para añadir interactividad a las páginas.
Cuando el usuario hace algo se produce un evento. Algunos eventos que no están relacionados
directamente con acciones de usuario: p.ej. el evento load de un documento, que se produce
automáticamente cuando un documento ha sido cargado.
La gestión de eventos se popularizó a raíz de la versión 2 de Netscape. El resto de los
navegadores, incluido el Internet Explorer, tuvieron que adaptarse a la forma en la que Netscape 2
y 3 gestionaban los eventos.
Aunque hoy en día la técnica de gestión de eventos varía con el objetivo de independizar el
código de JavaScript de la estructura HTML, los navegadores todavía son compatibles con las
técnicas utilizadas por Netscape.
Anteriormente a las versiones 4 de los navegadores, los eventos (interacciones del usuario con el
sistema), eran capturados preferentemente por gestores de eventos definidos como atributos en
las etiquetas HTML (modelo de eventos en línea). P. ej, cuando un usuario hace clic en un botón,
se disparaba el evento onclick que se había programado en la etiqueta HTML. Ese evento hacía
una llamada a una función en la que se realizaban las operaciones programadas por el usuario.
Aunque todo ese modo de gestión de eventos sigue funcionando, los navegadores modernos ya
incorporan un modelo de gestión de eventos, que proporciona la información sobre cómo ocurre
un evento.
Hoy en día, debido a las diferencias que hay entre todos los navegadores actuales, no se
recomiendan ni esto, ni el modelo de detección basado en DHTML. Por lo tanto, hay que intentar
usar modelos de detección de eventos estándar y que sean los navegadores los que tengan que
adaptarse a ese modelo.
3. Modelo de registro de eventos en línea
En el modelo de registro de eventos en línea (estandarizado por
Netscape), el evento es añadido como un atributo más a la etiqueta
HTML del objeto sobre el cual se quiere controlar un determinado
suceso, como en el siguiente ejemplo en el que al hacer clic en el
enlace, se llama al gestor de eventos onClick y se ejecuta el script, que
contiene en este caso una alerta de JavaScript.
<a href="pagina.html" onClick="alert('Has pulsado en el
enlace')">Pulsa aquí</a>
A continuación, hacemos lo mismo pero llamando a una
función:
<a href="pagina.html" onClick="alertar()">Pulsa aquí</a>
//siendo la función alertar()
function alertar(){
alert("Has pulsado en el enlace");
}
4. Modelo de registro de eventos en línea
No es recomendable usar el modelo de registro de eventos en
línea. Tiene el problema de que estamos mezclando la
estructura de la página web con la programación de la misma.
Hoy en día se intenta separar la programación en JavaScript de
una página de su estructura HTML, al igual que intentamos
separar lo que es contenido de lo que es aspecto.
En el ejemplo anterior, al hacer clic en el enlace se mostrará la
alerta y a continuación se conectará con la página pagina.html.
En ese momento desaparecerán de memoria los objetos que
estaban en un principio, cuando se originó el evento. Esto puede
ser un problema ya que si, por ejemplo, la función a la que
llamamos tiene que realizar varias tareas, éstas tendrían que
hacerse antes de que nos conecte con la nueva página.
Este modo de funcionamiento ha sido un principio muy
importante en la gestión de eventos. Si un evento genera la
ejecución de un script y además también se genera la acción por
defecto para ese objeto entonces:
◦ El script se ejecutará primero.
◦ La acción por defecto se ejecutará después.
5. A veces es interesante bloquear o evitar que se ejecute la acción por defecto. Por
ejemplo, en el caso anterior podríamos evitar que nos conecte con la nueva página.
Cuando programamos un gestor de eventos, ese gestor podrá devolver un valor true o
false usando la instrucción return true o return false. False quiere decir "no ejecutes la
acción por defecto". En el ejemplo anterior,
<a href="pagina.html" onclick="alertar();return false">Pulsa
aquí</a>
Al pulsar en el enlace realizará la llamada a la función alertar() y cuando termine
ejecutará la instrucción return false, que le indicará al navegador que no ejecute la
acción por defecto asignada a ese objeto (en este caso la acción por defecto de un
hiperenlace es conectarnos con la página especificada en el atributo href).
También sería posible hacer que nos preguntara si queremos o no ir a la página de
destino. Eso podríamos hacerlo sustituyendo el script del evento por una llamada a una
función que solicite una confirmación usando la función global confirm.
<a href="pagina.html" onclick="confirmar()">Pulsa aquí</a>
//siendo la función confirmar()
function confirmar(){
return confirm("¿Deseas cambiar a la página indicada?");
} //ANULACIÓN DE LA ACCIÓN POR DEFECTO USANDO CONFIRM()
Cuando se utiliza este modelo de registro de eventos, la última instrucción del script NO
termina en ;.
Modelo de registro de eventos en línea
6. Modelo de registro de eventos tradicional
En los navegadores antiguos, el modelo utilizado era el modelo en línea. Con la
llegada de DHTML, el modelo se extendió para ser más flexible. En este nuevo
modelo el evento pasó a ser una propiedad del elemento, de modo que el
siguiente código de JavaScript es aceptado por los navegadores modernos.
elemento.onclick = hacerAlgo;
// cuando el usuario haga click en el objeto, se llamará a la función
hacerAlgo()
//REGISTRO DE EVENTOS TRACICIONAL
No usamos paréntesis en la función hacerAlgo. El método onclick espera que se
le asigne una función completa. Si hiciéramos element.onclick = hacerAlgo(); la
función sería ejecutada y el resultado devuelto por esa función sería asignado a la
propiedad onclick del elemento. Pero esto no es lo que queremos que haga,
queremos que se ejecute la función cuando se dispare el evento.
Esta forma de registro no fue estandarizada por elW3C, pero todavía es
válida hoy en día debido a que fue ampliamente utilizada por Netscape y
Microsoft. La ventaja de este modelo es que podemos asignar un evento a un
objeto desde JavaScript, con lo que ya estamos separando el código de la
estructura. Fíjate que aquí los nombres de los eventos sí que van siempre en
minúsculas.
Para eliminar un gestor de eventos de un elemento u objeto, le asignamos null.
elemento.onclick = null;
// cuando el usuario haga click en el objeto, no se lama a ninguna
función
//ANULACIÓN DE UN GESTOR DE EVENTOS
7. Una ventaja es que, como el gestor de eventos es una función, podremos realizar una llamada
directa a ese gestor, con lo que estamos disparando el evento de forma manual. Por ejemplo:
elemento.onclick();
// disparamos el evento click de forma manual. Ejecuta la función hacerAlgo
// DISPARO DEL EVENTO DE FORMA MANUAL
En el modelo en línea podíamos utilizar la palabra reservada this cuando programamos el
gestor de eventos, tal y como se indica en el siguiente ejemplo:
<a href="pagina.html" id="mienlace" onClick="alertar(this)">Pulsa aqui</a>
//siendo la función alertar
function alertar(objeto) {
alert("Te conectaremos con la página: "+objeto.href); }
}
//USO DE THIS EN EL GESTOR DE EVENTOS EN LÍNEA
<a href="pagina.html" id="mienlace">Pulsa aqui</a>
//siendo el script
document.getElementById("mienlace").onclick = alertar; //programamos el evento
function alertar() {
alert("Te conectaremos con la página: "+this.href);
}
//USO DE THIS EN EL MODELO DE GESTOR DE EVENTOS TRADICIONAL
Se emplea this dentro de la función alertar, sin pasar ningún objeto (tal y como hacíamos en el modelo
en línea). En el modelo tradicional, el this que está dentro de la función, hace referencia al objeto donde
hemos programado el evento.También hay que destacar que en este modelo es importante que el
hiperenlace sea declarado antes de programar la asignación onclick, ya que si por ejemplo escribimos el
hiperenlace después del bloque de código de JavaScript, éste no conocerá todavía el objeto y no le podrá
asignar el evento de onclick. Esto último se podría solucionar programando la asignación de eventos a
los objetos en una función que se ejecute en el momento en que el documento esté completamente
cargado programando el evento onload del objeto window. Por ejemplo con
window.onload=asignarEventos.
Modelo de registro de eventos tradicional
8. También podemos lograr que se realicen
llamadas a más de una función cuando se
produzca el evento. Esto lo podemos hacer de
la siguiente forma:
elemento.onclick = function ( ) {
llamada1( );
llamada2( );
};
//PROGRAMANDO UN EVENTO MULTIFUNCIÓN
Después de asignar una función a una
propiedad de un objeto hay que poner un
punto y coma después de la llave de cierre.
Modelo de registro de eventos tradicional
9. Modelo de registro avanzado de eventos
según W3C
El W3C, en su especificación del DOM de nivel 2, pone
especial atención a los problemas del modelo tradicional de
registro de eventos y ofrece una forma sencilla de registrar
sobre un objeto determinado los eventos que queramos. La
clave para poder hacer todo eso está en el método
addEventListener().
Este método tiene tres argumentos:
◦ El tipo de evento.
◦ La función a ejecutar.
◦ Un valor booleano (true o false).
El último argumento se utiliza para indicar en qué momento
se deben ejecutar las acciones asociadas al evento:
◦ En la fase de captura (true).
◦ En la fase de propagación (false).
Más adelante se verá la diferencia
10. elemento.addEventListener('evento', función, false|true);
//SINTAXIS DEL MÉTODO ADDEVENTLISTENER
Por ejemplo para registrar la función alertar() de los ejemplos anteriores,
haríamos:
document.getElementById("mienlace").addEventListener('click',
alertar,false);
function alertar(){
alert("Te conectaremos con la página: "+this.href);
}
//MÉTODO ADDEVENTLISTENER
La ventaja de este método, es que podemos añadir tantos eventos como
queramos. Por ejemplo:
document.getElementById("mienlace").addEventListener('click',
alertar,false);
document.getElementById("mienlace").addEventListener('click',
avisar,false);
document.getElementById("mienlace").addEventListener('click',
chequear,false);
//MÉTODO ADDEVENTLISTENER PARA AÑADIR MÚLTIPLES EVENTOS
Modelo de registro avanzado de eventos segúnW3C
11. Por lo tanto, cuando hagamos clic en "mienlace" se
disparará la llamada a las tres funciones. Por cierto, el
W3C no indica el orden de disparo, por lo que no
sabemos cuál de las tres funciones se ejecutará primero.
Fíjate también, que el nombre de los eventos en el
método addEventListener no comienza con "on".
En este modelo podemos usar funciones anónimas (sin
nombre de función), tal y como se muestra en el
siguiente ejemplo:
elemento.addEventListener('click', function () {
this.style.backgroundColor = '#cc0000';
}, false);
// MÉTODO ADDEVENTLISTENER USANDO FUNCIÓN ANÓNIMA
En este modelo se puede usar la palabra this de la
misma forma que en el modelo tradicional.
Modelo de registro avanzado de eventos segúnW3C
12. Uno de los problemas de la implementación del modelo de registro del
W3C es que no podemos saber con antelación los eventos que hemos
registrado en un elemento.
En el modelo tradicional si hacemos alert(elemento.onclick);, nos
devuelve:
◦ undefined - si no hay funciones registradas para ese evento, o bien,
◦ el nombre de la función que hemos registrado para ese evento.
En este modelo no podemos hacer esto.
ElW3C, en el reciente nivel 3 del DOM, introdujo un método llamado
eventListenerList que almacena una lista de las funciones que han sido
registradas en un elemento.Hay que tener cuidado con este método,
porque no está soportado por todos los navegadores.
Para eliminar un evento de un elemento, usaremos el método
removeEventListener(), cuya sintaxis se muestra en el siguiente ejemplo:
elemento.removeEventListener('evento', función, false|true);
//SINTAXIS DEL MÉTODO REMOVEEVENTLISTENER
Sin embargo, si lo que queremos es cancelar el comportamiento por defecto de
un determinado objeto (como en los ejemplos de la diapositiva 5 este modelo
nos proporciona el método preventDefault().
Modelo de registro avanzado de eventos segúnW3C
13. Microsoft también ha desarrollado un modelo de registro de eventos. Es
similar al utilizado por el W3C, pero tiene algunas modificaciones importantes.
Para registrar un evento, tenemos que enlazarlo con attachEvent():
elemento.attachEvent('onclick', hacerAlgo);
//SINTAXIS DEL MÉTODO ATTACHEVENT()
Si se necesita dos gestores para el mismo evento:
elemento.attachEvent('onclick', hacerUnaCosa);
elemento.attachEvent('onclick', hacerOtraCosa);
Para eliminar un evento, se hará con detachEvent():
elemento.detachEvent('onclick', hacerAlgo);
//SINTAXIS DEL MÉTODO DETACHEVENT()
Si comparando este modelo con el del W3C tenemos dos diferencias
importantes:
Los eventos siempre se propagan hacia arriba, no hay fase de captura (no hay
tercer argumento para seleccionar el modo).
La función que gestiona el evento está referenciada, no copiada, con lo que la
palabra reservada this siempre hará referencia al objeto window y no se
podrá utilizar para conocer el elemento que lanzó el evento.
Modelo de registro avanzado de eventos según Microsoft
14. Eventos(https://www.w3schools.com/jsref/dom_obj_event.asp)
Eventos
Evento Se produce cuando…
onblur Un elemento pierde el foco.
onchange El contenido de un campo cambia.
onclick Se hace clic con el ratón en un objeto.
ondblclick Se hace doble clic con el ratón sobre un objeto.
onerror Hay algún error al cargar un documento o una imagen.
onfocus Un elemento tiene el foco.
onkeydown Se presiona una tecla del teclado.
onkeypress Se presiona una tecla o se mantiene presionada.
onkeyup Cuando soltamos una tecla.
onload Una página o imagen terminaron de cargarse.
onmousedown Se presiona un botón del ratón.
onmousemove Se mueve el ratón sobre un elemento.
onmouseout Movemos el ratón fuera de un elemento.
onmouseover El ratón se mueve sobre un elemento.
onmouseup Se libera un botón del ratón.
onresize Se redimensiona una ventana o marco.
onselect Se selecciona un texto.
onunload El usuario abandona una página.
15. Orden de disparo de los eventos
En el modelo DOM, los objetos del HTML se asemejan a un árbol que partiendo de la
raíz (objeto document)
En un documento XHTML podemos tener un objeto que está contenido dentro de
otro, este último a su vez dentro de otro, y un largo etcétera.
Imagina que tenemos un elemento contenido dentro de otro elemento y que tenemos
programado el mismo tipo de evento para ambos (por ejemplo el evento clic). ¿Cuál de
ellos se disparará primero?
Sorprendentemente, esto va a depender del tipo de navegador que tengamos.
Si el usuario posiciona el ratón sobre la zona central que abarca el Elemento 2 y realiza
un clic con el ratón, lanzará el evento clic en ambos elementos. ¿Pero cuál de ellos se
disparará primero?, ¿cuál es el orden en el que se van a ejecutar las acciones asociadas a
estos eventos?
Tenemos dos Modelos propuestos:
• Netscape dijo que el evento en el Elemento1 tendrá lugar
primero. Es lo que se conoce como "captura de eventos".
• Microsoft dijo que el evento en el Elemento2 tendrá
preferencia. Es lo que se conoce como bubbling
"propagación hacia arriba de eventos".
Los dos modelos son claramente opuestos. Internet Explorer
sólo soporta el segundo modelo. Mozilla, Opera 7 y
Konqueror soportan los dos modelos.Y las versiones antiguas
de Opera e iCab no soportan ninguno.
16. W3C decidió tomar una posición intermedia.Así supone
que, cuando se produce un evento primero se producirá la
fase de captura hasta llegar al elemento de destino, y luego
se producirá la fase de propagación hacia arriba en el modelo
del DOM. Este modelo es el estándar, que todos los
navegadores deberían seguir para ser compatibles entre sí.
Si se usa el método addEventListener podrás decidir
cuando quieres que se registre el evento: en la fase de
captura o en la fase de burbujeo. Para ello tendrás que dar el
valor true o false, respectivamente, al tercer parámetro. Por
ejemplo:
Orden de disparo de los eventos: modeloW3C
17. Orden de disparo de los eventos: modelo W3C
elemento1.addEventListener('click',hacerAlgo1,true);
//elemento1 representa la caja verde
elemento2.addEventListener('click',hacerAlgo2,false);
//elemento2 representa la caja amarilla
Si el usuario hace clic en el elemento2 ocurrirá lo siguiente:
◦ 1. El evento clic comenzará en la fase de captura.
◦ 2. El gestor de eventos comprueba si hay algún ancestro del elemento2 en el
árbol del DOM que tenga programado un evento onclick para la fase de captura
(true).
◦ 3. El gestor de eventos encuentra un elemento1.hacerAlgo1() que ejecutará
primero, pues su tercer argumento tiene un valor true.
◦ 4. El evento viajará hacia el destino (elemento2), pero no encontrará más
eventos para la fase de captura. Entonces el evento pasa a la fase de propagación,
y ejecuta hacerAlgo2(), el cual está programado para esta fase (con un valor false
en su tercer argumento).
◦ 5. El evento viaja hacia arriba de nuevo y chequea si algún ancestro tiene
programado ese evento para la fase de propagación. Éste no será el caso, por lo
que no hará nada más.
◦ 6. Para detener la propagación del evento en la fase de propagación,
disponemos del método stopPropagation(). En la fase de captura es imposible
detener la propagación.