1. Modelo de evento original
Sus tipos de eventos: divididos en "Eventos de entrada (como OnClicki)" y "Eventos semánticos (como Onsubmit)"
El registro de los programas de eventos se puede hacer de las siguientes maneras:
1. Código JS como valor de propiedad HTML
La copia del código es la siguiente: <input type = "button" value = "Press Me" onClick = "alert ('gracias');"
2. Manejador de eventos como atributo JS
Nota: Cada elemento HTML en el documento tiene un objeto JS correspondiente en el árbol del documento. Los atributos de este objeto JS corresponden a las propiedades de ese elemento HTML. Ya sea el código JS de la naturaleza HTML o el controlador de tiempo de los atributos JS, sus propios atributos son la función "función".
Copie el código de la siguiente manera: <form de nombre = "f1">
<input name = "b1" type = "button" value = "Press Me"/>
</form>
El primer método de asignación:
La copia del código es la siguiente: document.f1.b1.onclick = function () {alert ('gracias');};
El segundo método de asignación:
La copia del código es la siguiente: function sproad () {window.status = "¡Por favor, presioname!";}
document.f1.bi.onmouseover = suplicar;
Los manejadores de eventos como atributos JS se pueden llamar explícitamente con los atributos JS
La copia del código es la siguiente: document.myfrom.onsubmit ();
El controlador de eventos puede devolver a Fale para evitar que el navegador realice las acciones predeterminadas de los eventos, operaciones comúnmente utilizadas como OnSubmit. La excepción es
El bloqueo de la ventana. Evento de visualización del estatus del Hyperlink Mouseover es devolver verdadero. Por ejemplo:
Copie el código de la siguiente manera: <a href = "ayuda.htm" onMouseOver = "window.status = 'ayuda'; return true;"> Ayuda </a>
2. Modelo de eventos DOM2
Este modelo está formulado con referencia al modelo de burbuja IE, que es una especificación formulada por W3C. En el modelo original, el mango del evento se llama directamente una vez que ocurre un evento, y no hay otro proceso de propagación de eventos. En el modelo DOM2, los eventos tienen un proceso de propagación especial, que se divide en tres etapas:
(1) Fase de captura: el evento se propaga del documento al elemento objetivo. Durante este proceso, si algún elemento de antepasado está interesado en el evento, puede registrar su propia función de procesamiento.
(2) Fase objetivo: el evento alcanza el elemento de destino y ejecuta la función de manejo de eventos del elemento de destino.
(3) Fase burbujeante: los eventos aumentan desde el elemento objetivo hasta el documento. Aunque todos los tipos de eventos pasarán por la etapa de fase de captring, solo algunos eventos pasarán por la etapa de fase burbujeante, por ejemplo, el evento de envío no será flotante.
Durante todo el proceso de propagación de eventos, event.stoppropagation () puede llamarse para detener la propagación del evento y prevenirdefault () puede llamarse para bloquear el comportamiento predeterminado del navegador.
La copia del código es la siguiente: AddEventListener ("EventType", "Handler", "Verdadero! Falso");
RemoVentListner ("EventType", "Handler", "Verdadero! Falso");
Es decir, modelo
El modelo IE también proporciona un objeto de evento que encapsula la información detallada del evento, pero IE no pasa el objeto a la función de manejo de eventos. Dado que solo habrá un evento en cualquier momento, es decir, lo considera un atributo de la ventana de objeto global. El modo de propagación de eventos en IE corresponde a la segunda y tercera etapas de DOM2. Primero, se ejecuta la función de procesamiento del elemento de destino, y luego la carga alcanza el documento. Solo los eventos del mouse se pueden capturar en IE. Todos los eventos pueden ser capturados en DOM2. El método para registrar y eliminar las funciones de manejo de eventos en IE también es diferente de DOM2.
El registro y la eliminación de los manejadores de eventos se realizan a través del accesorio de accesorio del elemento ("EventType", "Handler") y DETACHEVENT ("EventType", "Handler"). A diferencia de DOM2, EventType tiene un prefijo en
Características:
1. El proceso de propagación solo burbujea y no lo captura. Método para interrumpir burbujas:
Window.ecent.cancelBubble = true;
2. El objeto de eventos no es un parámetro de función del controlador de eventos, sino una variable global de la ventana.
3.
4. Modelo de eventos Netscape4
Dado que Netscape parece haber dejado de desarrollarse por completo, no lo explicaré en detalle. En pocas palabras, solo atrapa y no burbujea.
Lo anterior es una introducción básica al modelo de evento JavaScript. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.