Me gustaría ver todos los eventos activados por un campo de entrada cuando un usuario interactúa con él. Esto incluye cosas como:
- Haciendo clic en él.
- Haciendo clic fuera de él.
- Tabulación en él.
- Tabulando lejos de él.
- Ctrl+ Cy Ctrl+V en el teclado.
- Haga clic derecho -> Pegar.
- Haga clic derecho -> Cortar.
- Haga clic derecho -> Copiar.
- Arrastrar y soltar texto desde otra aplicación.
- Modificándolo con Javascript.
- Modificándolo con una herramienta de depuración, como Firebug.
Me gustaría mostrarlo usando console.log
. ¿Es esto posible en Javascript / jQuery? Si es así, ¿cómo lo hago?
javascript
jquery
events
dom-events
Daniel T.
fuente
fuente
Respuestas:
Eso le dará mucha (pero no toda) la información sobre si se activa un evento ... aparte de codificarlo manualmente de esta manera, no puedo pensar en ninguna otra forma de hacerlo.
fuente
function
, y de la misma forma :).blur
a su lista de eventos.No tengo idea de por qué nadie usa esto ... (tal vez porque es solo una cosa de webkit)
Consola abierta:
fuente
monitorEvents
no brinda información relevante sobre esto, además, sospecho que esto no es muy estándarmonitorEvents($0, 'mouse');
para registrar todos los eventos de un elemento inspeccionado (clic derecho> "Inspeccionar"). ( briangrinstead.com/blog/chrome-developer-tools-monitorevents )Hay una buena forma genérica de usar la colección .data ('eventos'):
Esto registra cada evento que ya ha sido vinculado al elemento por jQuery en el momento en que se activa este evento específico. Este código fue muy útil para mí muchas veces.
Por cierto: si desea ver todos los eventos posibles que se disparan en un objeto, use firebug: simplemente haga clic derecho en el elemento DOM en la pestaña html y marque "Registrar eventos". Luego, cada evento se registra en la consola (esto a veces es un poco molesto porque registra cada movimiento del mouse ...).
fuente
fuente
Sé que la respuesta ya ha sido aceptada, pero creo que podría haber una forma un poco más confiable en la que no necesariamente tenga que saber el nombre del evento de antemano. Esto solo funciona para eventos nativos, aunque hasta donde yo sé, no personalizados que han sido creados por complementos. Opté por omitir el uso de jQuery para simplificar un poco las cosas.
Espero que esto ayude a cualquiera que lea esto.
EDITAR
Entonces vi otra pregunta aquí que era similar, por lo que otra sugerencia sería hacer lo siguiente:
fuente
Viejo hilo, lo sé. También necesitaba algo para monitorear eventos y escribí esta muy útil (excelente) solución. Puede monitorear todos los eventos con este gancho (en la programación de Windows esto se llama gancho). Este gancho no afecta el funcionamiento de su software / programa.
En el registro de la consola puede ver algo como esto:
Explicación de lo que ves:
En el registro de la consola, verá todos los eventos que seleccione (vea más abajo "cómo usar" ) y muestra el tipo de objeto, los nombres de clase, id, <: nombre de la función>, <: nombre del evento>. El formato de los objetos es similar a CSS.
Cuando haga clic en un botón o en cualquier evento vinculado, lo verá en el registro de la consola.
El código que escribí:
Ejemplos de cómo usarlo:
Monitorear todos los eventos:
Supervisar solo todos los desencadenantes
Supervisar solo todos los eventos ON:
Supervisar todos los desvinculaciones OFF solamente:
Observaciones / Aviso:
¡Espero eso ayude! ;-)
fuente
https://github.com/robertleeplummerjr/wiretap.js
fuente
HTMLElement.prototype.addEventListener
y probablemente no debería usarse en producción, pero ya fue de gran ayuda para mí con fines de depuración.Simplemente agregue esto a la página y no se preocupe, se encargará del descanso por usted:
También puede usar console.log ('Evento de entrada:' + e.type) para hacerlo más fácil.
fuente
function
, y de la misma forma :).$('input').data('events')
y vuelve indefinido.PASO 1: Compruebe el
events
de unaHTML element
en ladeveloper console
:PASO 2: Escuche lo
events
que queremos capturar:Buena suerte...
fuente
Recientemente encontré y modifiqué este fragmento de una publicación SO existente que no he podido encontrar nuevamente, pero lo encontré muy útil
fuente
Esto usa un poco de ES6 para la belleza, pero también se puede traducir fácilmente para navegadores heredados. En la función adjunta a los oyentes de eventos, actualmente solo se está desconectando qué tipo de evento ocurrió, pero aquí es donde puede imprimir información adicional, o usando un interruptor en el
e.type
, solo puede imprimir información sobre eventos específicosfuente
Aquí hay una forma no jquery de monitorear eventos en la consola con su código y sin el uso de monitorEvents () porque eso solo funciona en Chrome Developer Console. También puede optar por no monitorear ciertos eventos editando la matriz no_watch.
fuente