|
|
|
|
- Mecanismo para propagar los eventos en un navegador
- Casos especiales
- Diferencias entre las funciones Event y JSEvent
Asocia una Procedure del navegador con una Event en un objeto del código del navegador. Esta función pide al navegador que intercepte una Event en el Page actual o en un elemento del Page actual. . Un WLanguage Procedure específico se ejecuta automáticamente cuando el Event se dispara en el objeto especificado. Para finalizar la gestión de la Event, debe utilizar JSEndEvent. // Intercepts all clicks on the page nPageClick is int nPageClick = JSEvent(Proc_PageClick, jsEventBody, jsEventClick)
Sintaxis
<Result> = JSEvent(<WLanguage procedure> , <Target Object> , <Event> [, <Options>])
<Result>: Integro - Identificador de Event,
- 0 si se produce un error.
<WLanguage procedure>: Nombre de Procedure Nombre del procedimiento WLanguage que se ejecutará al interceptar el Event.Este Procedure puede ser un navegador Procedure global al proyecto o un navegador Procedure local al Page que contiene el código actualmente ejecutado. Este Procedure debe tener el siguiente formato: PROCEDURE EventManagementProcedure(pclEventJS is object dynamic) Al realizar la llamada se inicializará el parámetro pcl Event JS con el objeto JavaScript del navegador Event. Es el mismo objeto que maneja o devuelve JSInfoEvent. <Target Object>: Cadena de caracteres o constante entera Elemento sobre el que se gestionará el Event. Los valores posibles son: - Una de las siguientes constantes:
| | jsEventBody | La Event se dirige a la etiqueta BODY del HTML Page. | jsEventDocument | La Event se dirige a la Document ("Document" objeto de DOM). | jsEventForm | El Event está dirigido a la forma actual. | jsEventWindow | La Event se dirige a la ventana (objeto "ventana" del DOM). |
- Un string que especifica uno de los objetos DOM (Document Object Model).
- Cadena de caracteres que especifica el ID de una de las etiquetas HTML Page.
- El alias de una página control (Alias)
<Event>: Variant Nombre de Event para interceptar.Este valor puede ser: - una cadena de caracteres que indica el nombre de Event.
- una constante preestablecida:
| | jsEventBeforeUnload | El Event se activa antes de descargar el Page.
Observación: Puede permitir que el usuario de la Web salga de la Page utilizando el código:
JSInfoEvent("returnValue") = "Message" RETURN "Message" El navegador mostrará el mensaje con los botones "Salir del Page" y "Permanecer en el Page" (o una variación según el navegador utilizado). | jsEventBlur | La Event se dispara cuando el objeto objetivo pierde el foco. | jsEventChange | La Event se dispara cada vez que se modifica el objeto objetivo. | jsEventClick | El Event se activa con un clic en el objeto objetivo. | jsEventDoubleClick | La Event se dispara con un doble clic en el objeto objetivo. | jsEventFocus | La Event se dispara cuando el objeto objetivo se enfoca. | jsEventGestureChange | El Event se dispara cuando el usuario cambia el zoom de la pantalla con sus dedos (Event gestionado durante una visualización en un Phone por ejemplo). | jsEventGestureEnd | El Event se dispara cuando el usuario detiene el zoom de la pantalla con sus dedos (Event manejado durante la visualización en un Phone por ejemplo). | jsEventGestureStart | El Event se dispara cuando el usuario inicia el zoom de la pantalla con 2 dedos (Event gestionado durante una visualización en un Phone por ejemplo). | jsEventKeyDown | El Event se activa cuando se pulsa una tecla. | jsEventKeyPress | El Event se activa cuando se pulsa y se suelta una tecla. | jsEventKeyUp | El Event se activa cuando se libera una llave. | jsEventLoad | El Event se dispara al final de la carga del formulario HTML. | jsEventMouseDown | La Event se dispara cuando se presiona el botón del ratón. | jsEventMouseEnter | La Event se dispara cuando el cursor del ratón entra en la superficie del objeto objetivo. Esta Event sólo afecta al objeto objetivo. | jsEventMouseLeave | La Event se dispara cuando el cursor del ratón deja la superficie del objeto objetivo. Esta Event sólo afecta al objeto objetivo. | jsEventMouseMove | La Event se dispara cada vez que se mueve el ratón. | jsEventMouseOut | La Event se dispara cuando el cursor del ratón deja la superficie del objeto objetivo. Este evento afecta el objeto de destino o un o de sus hijos. | jsEventMouseOver | La Event se dispara cuando el cursor del ratón entra en la superficie del objeto objetivo. Este evento afecta el objeto de destino o un o de sus hijos. | jsEventMouseUp | La Event se activa cuando se suelta el botón del ratón. | jsEventOrientationChange | El Event se activa cuando cambia la orientación del aparato (Event gestionado durante una visualización en un Phone por ejemplo). | jsEventTouchCancel | El Event se dispara cuando el usuario cancela la acción realizada con su dedo: mostrando el menú contextual por ejemplo (evento gestionado durante una visualización en una Phone por ejemplo). | jsEventTouchEnd | El Event se activa cuando el usuario retira el dedo de la pantalla para finalizar una acción en la pantalla (Event gestionado durante una visualización en un Phone por ejemplo). | jsEventTouchMove | El evento se desencadena cuando el usuario mueve el dedo en la pantalla (evento gestionado durante una visualización en un Phone por ejemplo). | jsEventTouchStart | El Event se activa cuando el usuario toca la pantalla con uno o dos dedos (Event gestionado durante una visualización en un Phone por ejemplo). | jsEventReset | La Event se activa al pulsar el botón "Reiniciar". | jsEventResize | El Event se dispara cuando se cambia el tamaño de la ventana. | jsEventScroll | El Event se activa cada vez que se desplaza la ventana del navegador. | jsEventSelect | El Event se activa al seleccionar el objeto objetivo. | jsEventSubmit | La Event se activa al hacer clic en un botón "Enviar". | jsEventUnload | La Event se activa al descargar el formulario HTML (cerrar el navegador o navegar hacia otra Page). |
<Options>: Combinación opcional de constantes de tipo Integer Dirección para interceptar el Event.En el código del navegador, un Event puede ser interceptado durante la captura o durante el regreso. Este parámetro se utiliza para especificar cuándo se llamará a la función que procesa el Event. Los valores posibles son: | | jsEventBubble | La función de procesamiento se llama cuando la Event es devuelta en el objeto objetivo. | jsEventCapture (Valor predeterminado) | La función de procesamiento se llama cuando el Event es capturado por el objeto objetivo. |
Observaciones Mecanismo para propagar los eventos en un navegador Los eventos que pueden ocurrir en una página Web y ser interceptados por la función JSEvent circulan en dos direcciones a través de los diferentes elementos que componen la página Web: - La fase de captura
En esta fase, la Event( un clic del ratón, por ejemplo) se transmite a todos los elementos Page en el orden siguiente: - la ventana,
- la Document,
- el formulario HTML,
- los diferentes contenedores (celdas) desde el más externo hasta el más interno,
- el control.
Para interceptar el evento durante esta fase, debe usar la constante jsEventCapture . - La fase de retorno (también llamada burbuja)
La Event se propaga a los mismos elementos que durante la fase de captura pero en orden inverso.
Si la Process del evento se interrumpe durante la fase de captura (con JSInterrupciónEvento), la fase de retorno se ejecutará desde el elemento actualmente Process ed durante la llamada a JSInterrupciónEvento. Si se interrumpe el proceso de Event durante la fase de retorno, los elementos padres del elemento actualmente procesado no recibirán el Event. Casos especiales - Algunos nombres de Event difieren según los navegadores. Si el Event se especifica por nombre, asegúrese de que el nombre sea válido para el navegador del usuario de la web. Esta es la razón por la que le aconsejamos que utilice las constantes WLanguage que se interpretarán automáticamente según el navegador.
- Si el objeto de destino es control , el alias ( Alias Property 74007900 ) del control debe pasarse como parámetro a JSEvent en lugar de su nombre.
Diferencias entre las funciones Event y JSEvent - A diferencia de Event, que se utiliza para capturar eventos en Windows, los eventos del navegador se propagan a todos los elementos de la página web correspondiente en dos direcciones (véase Above).
- La llamada Procedure y Event no tienen el mismo prototipo.
- Los objetos de destino genéricos (con la notación "*") de la función Event no son compatibles.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|