Hvordan finne hendelseslyttere på en DOM-node ved feilsøking eller fra JavaScript-koden?
Jeg har en side der noen hendelseslyttere er knyttet til inntastingsbokser og valgbokser. Finnes det en måte å finne ut hvilke hendelseslyttere som observerer en bestemt DOM-node og for hvilken hendelse?
Hendelser knyttes ved hjelp av:
- Prototype's
Event.observe
; - DOM's
addEventListener
; - Som elementattributt
element.onclick
.
799
3
Hvis du bare trenger å se hva som skjer på en side, kan du prøve bokmerket Visuell hendelse.
Oppdatering: Visuell hendelse 2 tilgjengelig;
Det avhenger av hvordan hendelsene er festet. For illustrasjon antar vi at vi har følgende klikkbehandler:
Vi skal knytte den til elementet vårt ved hjelp av forskjellige metoder, noen som tillater inspeksjon og noen som ikke gjør det.
Metode A) enkelt hendelsesbehandler
Metode B) flere hendelsesbehandlere
Metode C): jQuery
1.3.x
1.4.x (lagrer handleren inne i et objekt)
(Se
jQuery.fn.data
ogjQuery.data
)Metode D): Prototype (rotete)
1.5.x
1.6 til og med 1.6.0.3 (ble veldig vanskelig her)
1.6.1 (litt bedre)
Hvis du har Firebug, kan du bruke
console.dir(object or array)
for å skrive ut et fint tre i konsoll-loggen for en hvilken som helst JavaScript skalar, array eller objekt.Prøv:
eller