AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones específicas de la Web / Funciones varias de WEBDEV
  • Mecanismo para propagar los eventos en un navegador
  • Casos especiales
  • Diferencias entre las funciones Event y JSEvent
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
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.
Ejemplo
// 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:
    jsEventBodyLa Event se dirige a la etiqueta BODY del HTML Page.
    jsEventDocumentLa Event se dirige a la Document ("Document" objeto de DOM).
    jsEventFormEl Event está dirigido a la forma actual.
    jsEventWindowLa 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:
    jsEventBeforeUnloadEl 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).
    jsEventBlurLa Event se dispara cuando el objeto objetivo pierde el foco.
    jsEventChangeLa Event se dispara cada vez que se modifica el objeto objetivo.
    jsEventClickEl Event se activa con un clic en el objeto objetivo.
    jsEventDoubleClickLa Event se dispara con un doble clic en el objeto objetivo.
    jsEventFocusLa Event se dispara cuando el objeto objetivo se enfoca.
    jsEventGestureChangeEl 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).
    jsEventGestureEndEl 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).
    jsEventGestureStartEl 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).
    jsEventKeyDownEl Event se activa cuando se pulsa una tecla.
    jsEventKeyPressEl Event se activa cuando se pulsa y se suelta una tecla.
    jsEventKeyUpEl Event se activa cuando se libera una llave.
    jsEventLoadEl Event se dispara al final de la carga del formulario HTML.
    jsEventMouseDownLa Event se dispara cuando se presiona el botón del ratón.
    jsEventMouseEnterLa Event se dispara cuando el cursor del ratón entra en la superficie del objeto objetivo. Esta Event sólo afecta al objeto objetivo.
    jsEventMouseLeaveLa Event se dispara cuando el cursor del ratón deja la superficie del objeto objetivo. Esta Event sólo afecta al objeto objetivo.
    jsEventMouseMoveLa Event se dispara cada vez que se mueve el ratón.
    jsEventMouseOutLa 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.
    jsEventMouseOverLa 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.
    jsEventMouseUpLa Event se activa cuando se suelta el botón del ratón.
    jsEventOrientationChangeEl Event se activa cuando cambia la orientación del aparato (Event gestionado durante una visualización en un Phone por ejemplo).
    jsEventTouchCancelEl 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).
    jsEventTouchEndEl 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).
    jsEventTouchMoveEl evento se desencadena cuando el usuario mueve el dedo en la pantalla (evento gestionado durante una visualización en un Phone por ejemplo).
    jsEventTouchStartEl 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).
    jsEventResetLa Event se activa al pulsar el botón "Reiniciar".
    jsEventResizeEl Event se dispara cuando se cambia el tamaño de la ventana.
    jsEventScrollEl Event se activa cada vez que se desplaza la ventana del navegador.
    jsEventSelectEl Event se activa al seleccionar el objeto objetivo.
    jsEventSubmitLa Event se activa al hacer clic en un botón "Enviar".
    jsEventUnloadLa 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:
jsEventBubbleLa 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.
Componente: WDJS.DLL
Versión mínima requerida
  • Versión 15
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 23/06/2023

Señalar un error o enviar una sugerencia | Ayuda local