Tengo una lista selecta:
<select id="filter">
<option value="Open" selected="selected">Open</option>
<option value="Closed">Closed</option>
</select>
Cuando selecciono Closed
la página se vuelve a cargar. En este caso, muestra tickets cerrados (en lugar de abiertos). Funciona bien cuando lo hago manualmente.
El problema es que la página no se recarga cuando selecciono Closed
con Watir :
browser.select_list(:id => "filter").select "Closed"
Eso generalmente significa que no se activa algún evento de JavaScript. Puedo disparar eventos con Watir:
browser.select_list(:id => "filter").fire_event "onclick"
pero necesito saber qué evento disparar.
¿Hay alguna manera de averiguar qué eventos están definidos para un elemento?
javascript
events
watir
dom-events
browser-automation
Željko Filipin
fuente
fuente
Respuestas:
Solo pensé en agregar que también puedes hacer esto en Chrome:
Ctrl+ Shift+ I(Herramientas para desarrolladores)> Fuentes> Puntos de interrupción de escucha de eventos (a la derecha).
También puede ver todos los eventos que ya se han adjuntado simplemente haciendo clic derecho en el elemento y luego examinando sus propiedades (el panel de la derecha).
Por ejemplo:
No estoy seguro de si es tan poderoso como la opción firebug, pero ha sido suficiente para la mayoría de mis cosas.
Otra opción que es un poco diferente pero sorprendentemente increíble es Visual Event: http://www.sprymedia.co.uk/article/Visual+Event+2
Destaca todos los elementos de una página que se han vinculado y tiene elementos emergentes que muestran las funciones que se llaman. Bastante ingenioso para un marcador! También hay un complemento de Chrome si eso es lo que más te gusta, no estoy seguro de otros navegadores.
Anónimo Andrew también ha señalado aquí
monitorEvents(window);
fuente
Scripts
dentro de las herramientas de desarrollo (o inspector), debe ingresarSources
y luego mirar el menú a la derecha.Parece que Firebug (complemento de Firefox) tiene la respuesta:
Log Events
Closed
(manualmente)habrá algo como esto en la pestaña Consola:
Fuente: Firebug Tip: Eventos de registro
fuente
Con respecto a Chrome, verifique el monitorEvents () a través de la API de línea de comandos.
monitorEvents(window);
Ver la consola inundada de eventos
Hay otros ejemplos en la documentación . Supongo que esta característica se agregó después de la respuesta anterior.
fuente
monitorEvents($('#element').get())
unmonitorEvents(window)
Puede usar getEventListeners en su consola de desarrollador de Google Chrome .
fuente