He adjuntado un evento a un cuadro de texto usando addEventListener
. Funciona bien. Mi problema surgió cuando quise activar el evento mediante programación desde otra función.
¿Cómo puedo hacerlo?
javascript
events
triggers
addeventlistener
dom-events
KoolKabin
fuente
fuente
Respuestas:
Puede usar fireEvent en IE 8 o inferior, y dispatchEvent de W3C en la mayoría de los otros navegadores. Para crear el evento que desea activar, puede usar cualquiera
createEvent
ocreateEventObject
dependiendo del navegador.Aquí hay una pieza de código que se explica por sí mismo (del prototipo) que dispara un evento
dataavailable
en unelement
:fuente
eventName
aquí?Un ejemplo de trabajo:
Para los polyfill de navegadores más antiguos y ejemplos más complejos, consulte los documentos de MDN .
Ver tablas de soporte para
EventTarget.dispatchEvent
yCustomEvent
.fuente
detail
es una propiedad de laEvent
, así que asigne cualquier información a la que desee acceder en el otro extremo y acceda a ellaevent.detail
. +1Si no desea usar jQuery y no está especialmente preocupado por la compatibilidad con versiones anteriores, simplemente use:
Vea la documentación aquí y aquí .
EDITAR: Dependiendo de su configuración, puede agregar
bubbles: true
:fuente
CustomEvent
y el polyfill correspondiente.si usas jQuery, puedes simplemente hacer
y manejarlo con
donde "[arg0, arg1, ..., argN]" significa que estos argumentos son opcionales.
fuente
Si es compatible con IE9 +, puede usar lo siguiente. El mismo concepto está incorporado en You Might Not Need jQuery .
Si ya está utilizando jQuery, aquí está la versión jQuery del código anterior.
fuente
window.CustomEvent
existe, pero no se puede llamar como constructor: caniuse.com/#search=CustomEvent ;)Busqué eventos de clic de disparo, mousedown y mouseup en mouseover usando JavaScript. Encontré una respuesta proporcionada por Juan Mendes . Para la respuesta haz clic aquí .
Haga clic aquí para ver la demostración en vivo y debajo está el código:
fuente
Solo para sugerir una alternativa que no implique la necesidad de invocar manualmente un evento de escucha:
Independientemente de lo que haga su escucha de eventos, muévalo a una función y llame a esa función desde la escucha de eventos.
Luego, también puede llamar a esa función en cualquier otro lugar que necesite para lograr lo mismo que hace el evento cuando se dispara.
Encuentro esto menos "intensivo en código" y más fácil de leer.
fuente
Acabo de usar lo siguiente (parece ser mucho más simple):
En este caso, el evento se desencadena solo si el valor realmente cambió, tal como lo desencadenaría la pérdida de foco normal realizada por el usuario.
fuente
element.click()
.La respuesta de @ Dorian modificada para trabajar con IE:
FIDDLE: https://jsfiddle.net/z6zom9d0/1/
VEA TAMBIÉN:
https://caniuse.com/#feat=customevent
fuente
La respuesta aceptada no funcionó para mí, ninguno de los createEvent sí.
Lo que funcionó para mí al final fue:
Aquí hay un fragmento:
De la lectura: https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent
fuente
fuente
Podrías usar esta función que compilé juntos.
Activa un evento a continuación:
Ver evento:
¡Espero que esto ayude!
fuente
Puede usar el siguiente código para disparar eventos usando el método Element:
Mostrar fragmento de código
fuente
La forma más eficiente es llamar a la misma función que se ha registrado con
addEventListener
directamente.También puede desencadenar un evento falso con
CustomEvent
y co.Finalmente, algunos elementos como el
<input type="file">
soporte de un.click()
método.fuente
esto desencadenará de inmediato un evento 'beforeinstallprompt'
fuente
Use jquery event call. Escriba la línea a continuación donde desea activar onChange de cualquier elemento.
element_id es el ID del elemento cuyo onChange desea activar.
Evitar el uso de
Porque tiene muy menos apoyo. Consulte este documento para su apoyo .
fuente
HTML
JS
fuente
Lo que quieres es algo como esto:
Usando jQuery, sería algo como esto:
fuente
document.getElementByClassName
no existe 2.document.getElementsByClassName
existe pero devuelve una lista. 3. esto solo funciona para unos pocos eventos nativos seleccionados. 4. El último ejemplo desencadena un evento jQuery donde no existe ningún evento nativo subyacente.