Anonim

Har du noen gang hatt en slags konflikt med en begivenhetslytter? Eller bare vil se hva annet som kjøres på den samme handlingen på siden. Avhengig av nettleseren din, kan det hende at det ikke er en innebygd funksjonalitet.

Innebygd i nettleseren

I Google Chrome høyreklikker du på siden og går til Inspect Element. Derfra må du sørge for at du er på fanen Elementer og klikker på en blokk med HTML. På høyre sidefelt ser du et avsnitt med faner der du kan klikke på Event Listers og se handlingene som dokumentet lytter til. Du kan se nærmere på hver av disse handlingene for å se hvor den første erklæringen oppstår.
I Internet Explorer tror jeg de har innebygd lignende funksjonalitet. I FireFox tror jeg det krever et FireBug-tillegg for å se den funksjonaliteten i nettleseren.

getEventListeners

Dette er en metode som er bakt direkte i Chrome og Firebug for Firefox. Syntaks: getEventListeners (objekt). Så i forbindelse med jQuery, ville et enkelt eksempel være:

getEventListeners ($ ( '# container'));

Bare gå direkte til utviklerkonsollen og skriv inn kommandoen for det elementet du ønsker å se lytterne til.
getEventListeners Chrome
getEventListeners Firebug

jQuery

Det er ingen fullt støttet måte å få denne informasjonen på jQuery mer. Du kan få tilgang til en privat metode i jquery via:

$ ._ data ($ ( ''), 'hendelser');

Erstatt med riktig elementreferanse. Dette støttes ikke offentlig, det er ingen dokumentasjon, og det kan slutte å fungere med noen ny utgivelse av jQuery, så ikke stol på det. Hvis du skal bruke den, bruk den bare for feilsøking.

bookmarklet

Hvis ingen av de ovennevnte passer deg, er det et ganske kult bokmerke som lar deg se på siden hvor lytterne ligger. Hvis du drar hit, gir de bokmerke for å dra til nettleserlinjen. Dette er ærlig talt slik jeg bruker ofte, da jeg kan se nøyaktig hvor lytteren ligger på siden.

Se alle lyttere på arrangementer