PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
  • Mecanismo para propagar los eventos en un navegador
  • Casos especiales
  • Diferencias entre las funciones Evento y JSEvent
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Asigna un procedimiento de navegador a un evento en un objeto en el código del navegador.
Esta función pide al navegador que intercepte un evento en la página actual o en un elemento de la página actual.. Un procedimiento WLanguage específico se ejecuta automáticamente cuando se lanza el evento en el objeto especificado.. Para terminar la gestión del evento, debe usar JSEndEvent.
Example
// Intercepts all clicks on the page
nPageClick is int
nPageClick = JSEvent(Proc_PageClick, jsEventBody, jsEventClick)
Syntax
<Result> = JSEvent(<WLanguage procedure> , <Target Object> , <Evento> [, <Options>])
<Result>: Integro
  • Identificador del evento,
  • 0 si se produce un error.
<WLanguage procedure>: Nombre del procedimiento
Nombre del procedimiento WLanguage que se ejecutará al interceptar el evento.
Este procedimiento puede ser un procedimiento de navegador global para el proyecto o un procedimiento de navegador local para la página que contiene el código que se está ejecutando actualmente..
Este procedimiento debe tener el siguiente formato:
PROCEDURE EventManagementProcedure(pclEventJS is object dynamic)
Al realizar la llamada, la tecla pclEventJS se inicializará con el objeto JavaScript del evento del navegador. Este es el mismo objeto que el manipulado o devuelto por JSInfoEvent.
<Target Object>: Cadena de caracteres (con comillas) o constante entera
Elemento sobre el que se gestionará el evento.
Los valores posibles son:
  • Una de las siguientes constantes:
    jsEventWindowEl evento se dirige a la ventana (objeto"window" de DOM).
    jsEventDocumentEl evento se dirige al documento (objeto"documento" de DOM).
    jsEventBodyEl evento se dirige a la etiqueta BODY de la página HTML.
    Formulario jsEventEl evento se dirige a la forma actual.
  • Un string que especifica uno de los objetos DOM (Document Object Model).
  • Una cadena de caracteres que especifica el ID de una de las etiquetas HTML de la página.
  • El alias de un control de página (..Alias)
<Evento>: Variante
Nombre del evento a interceptar.
Este valor puede ser:
  • una cadena de caracteres que indica el nombre del evento.
  • una constante preestablecida:
    Versions 19 and later
    jsEventAntesDescarga
    New in version 19
    jsEventAntesDescarga
    jsEventAntesDescarga
    El evento se activa antes de descargar la página.

    Observación: Puede permitir que el usuario Web salga de la página utilizando el código:
    JSInfoEvent("returnValue") = "Message"
    RESULT "Message"

    El navegador mostrará el mensaje con los botones "Salir de la página" y "Permanecer en la página" (o una variación según el navegador utilizado).
    jsEventBlurEl evento se desencadena cuando el objeto de destino pierde el foco.
    jsEventChangeEl evento se desencadena cada vez que se modifica el objeto de destino.
    jsEventClickEl evento se desencadena con un clic en el objeto de destino.
    jsEventDoubleClickEl evento se desencadena con un doble clic en el objeto de destino.
    jsEventFocusEl evento se desencadena cuando el objeto de destino se enfoca.
    Versions 16 and later
    jsEventGestureChange
    New in version 16
    jsEventGestureChange
    jsEventGestureChange
    El evento se activa cuando el usuario cambia el zoom de la pantalla con sus dedos (evento gestionado durante una visualización en un teléfono, por ejemplo).
    Versions 16 and later
    jsEventGestureEnd
    New in version 16
    jsEventGestureEnd
    jsEventGestureEnd
    El evento se activa cuando el usuario detiene el zoom de la pantalla con sus dedos (evento gestionado durante la visualización en un teléfono, por ejemplo).
    Versions 16 and later
    jsEventGestureStart
    New in version 16
    jsEventGestureStart
    jsEventGestureStart
    El evento se activa cuando el usuario inicia el zoom de la pantalla con 2 dedos (evento gestionado durante una visualización en un teléfono, por ejemplo).
    jsEventKeyDownEl evento se activa cuando se pulsa una tecla.
    jsEventKeyPrensaEl evento se activa cuando se pulsa y suelta una tecla.
    jsEventKeyUpEl evento se activa cuando se libera una tecla.
    jsEventLoadEl evento se desencadena al final de la carga del formulario HTML.
    jsEventMouseDownEl evento se activa cuando se pulsa un botón del ratón.
    Versions 23 and later
    jsEventMouseEnter
    New in version 23
    jsEventMouseEnter
    jsEventMouseEnter
    El evento se activa cuando el cursor del ratón entra en la superficie del objeto de destino. Este evento afecta sólo al objeto de destino.
    Versions 23 and later
    jsEventMouseLeave
    New in version 23
    jsEventMouseLeave
    jsEventMouseLeave
    El evento se desencadena cuando el cursor del ratón abandona la superficie del objeto de destino. Este evento afecta sólo al objeto de destino.
    jsEventMouseMoveEl evento se activa cada vez que se mueve el ratón.
    jsEventMouseOutEl evento se desencadena cuando el cursor del ratón abandona la superficie del objeto de destino. Este evento afecta el objeto de destino o un o de sus hijos.
    jsEventMouseOverEl evento se activa cuando el cursor del ratón entra en la superficie del objeto de destino. Este evento afecta el objeto de destino o un o de sus hijos.
    jsEventMouseUpEl evento se desencadena cuando se libera un botón del ratón.
    Versions 16 and later
    jsEventoOrientaciónCambio
    New in version 16
    jsEventoOrientaciónCambio
    jsEventoOrientaciónCambio
    El evento se activa cuando cambia la orientación del dispositivo (evento gestionado durante una visualización en un teléfono, por ejemplo).
    Versions 16 and later
    jsEventTouchCancelar
    New in version 16
    jsEventTouchCancelar
    jsEventTouchCancelar
    El evento se activa cuando el usuario cancela la acción realizada con su dedo.: mostrando el menú contextual por ejemplo (evento gestionado durante la visualización en un teléfono por ejemplo).
    Versions 16 and later
    jsEventTouchEnd
    New in version 16
    jsEventTouchEnd
    jsEventTouchEnd
    El evento se activa cuando el usuario retira el dedo de la pantalla para finalizar una acción en la pantalla (evento gestionado durante una visualización en un teléfono, por ejemplo).
    Versions 16 and later
    jsEventTouchMove
    New in version 16
    jsEventTouchMove
    jsEventTouchMove
    El evento se activa cuando el usuario mueve el dedo por la pantalla (evento gestionado durante una visualización en un teléfono, por ejemplo).
    Versions 16 and later
    jsEventTouchStart
    New in version 16
    jsEventTouchStart
    jsEventTouchStart
    El evento se activa cuando el usuario toca la pantalla con uno o dos dedos (evento gestionado durante una visualización en un teléfono, por ejemplo).
    jsEventResetEl evento se activa al hacer clic en el botón "Reset".
    jsEventResizeEl evento se activa cuando se cambia el tamaño de la ventana.
    jsEventScrollEl evento se activa cada vez que se desplaza la ventana del navegador.
    jsEventSelectEl evento se desencadena al seleccionar el objeto de destino.
    jsEventEnviarEl evento se activa al hacer clic en el botón "Enviar".
    jsEventDescargarEl evento se activa al descargar el formulario HTML (cerrando el navegador o navegando hacia otra página).
<Options>: Combinación opcional de constantes enteras
Dirección para interceptar el evento.
En el código del navegador, un evento puede ser interceptado durante la captura o durante el retorno. Este parámetro se utiliza para especificar cuándo se llamará a la función que procesa el evento.
Los valores posibles son:
jsEventCapture
(Valor predeterminado)
La función de tratamiento se llama cuando el evento es capturado por el objeto de destino.
jsEventoBurbujaLa función de tratamiento se llama cuando se devuelve el evento en el objeto de destino.
Remarks

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, el evento (un clic del ratón por ejemplo) se transmite a todos los elementos de la página en el siguiente orden:
    • la ventana,
    • el documento,
    • 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 utilizar el comando jsEventCapture constante.
  • La fase de retorno (también llamada burbuja)
    El evento se propaga a los mismos elementos que durante la fase de captura, pero en orden inverso.
Si el proceso del evento se interrumpe durante la fase de captura (con JSInterrupciónEvento), la fase de retorno se ejecutará desde el elemento actualmente procesado durante la llamada a JSInterrupciónEvento.
Si el proceso de evento se interrumpe durante la fase de retorno, los elementos padre del elemento actualmente procesado no recibirán el evento.

Casos especiales

  • Algunos nombres de eventos difieren según los navegadores. Si el evento se especifica por nombre, asegúrese de que el nombre es válido para el navegador del usuario 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 un control, se debe pasar el alias (..Alias) como parámetro a la función JSEvent y no el nombre.

Diferencias entre las funciones Evento y JSEvent

  • A diferencia de la Evento, utilizada para capturar eventos en Windows, los eventos del navegador se propagan a todos los elementos de la página web relevante en ambas direcciones (ver arriba).
  • El procedimiento llamado y Evento no tienen el mismo prototipo.
  • Los objetos de destino genéricos (que utilizan la notación "*") de la función Evento no están soportados.
Component : WDJS.DLL
Minimum version required
  • Version 15
Comments
Click [Add] to post a comment