Grunnleggende om addEventListener
Knytt hendelsesbehandlere til elementer.
Grunnleggende om addEventListener er en gratis leksjon i JavaScript Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i JavaScript Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i JavaScript Academy inneholder totalt 4 leksjoner.
Reagere på hendelser
Hendelser lar koden reagere på brukerhandlinger som klikk, tastetrykk og innsending av skjemaer. addEventListener er standardmåten å abonnere på hendelser på.
Grunnleggende syntaks
Kall addEventListener med et hendelsesnavn og en behandlingsfunksjon. Behandlingsfunksjonen kjører hver gang hendelsen oppstår.
const btn = document.querySelector("button");
btn.addEventListener("click", () => {
console.log("Clicked!");
});Navngitte behandlingsfunksjoner
De kan sende inn en navngitt funksjon. Det holder koden organisert og gjør det, ikke minst, mulig å fjerne lytteren senere.
function handleClick() {
console.log("Clicked!");
}
btn.addEventListener("click", handleClick);Flere lyttere
I motsetning til den gamle egenskapen onclick kan De knytte flere lyttere til samme hendelse uten at de overskriver hverandre.
btn.addEventListener("click", logClick);
btn.addEventListener("click", trackAnalytics);removeEventListener
For å slutte å lytte kaller De removeEventListener med det samme hendelsesnavnet og den samme funksjonsreferansen som ble brukt da lytteren ble lagt til.
btn.addEventListener("click", handleClick);
btn.removeEventListener("click", handleClick);Anonyme funksjoner kan ikke fjernes
En innebygd pilfunksjon oppretter en ny referanse hver gang, og kan derfor ikke fjernes senere. Bruk en navngitt referanse hvis De trenger å fjerne den.
btn.addEventListener("click", () => doThing());
// no way to remove this exact listenerAlternativet once
Når De sender inn { once: true }, fjernes lytteren automatisk etter at den er utløst én gang.
btn.addEventListener("click", init, { once: true });Alternativet capture
Som standard kjører lyttere i boblefasen. { capture: true } får dem i stedet til å kjøre i fangstfasen.
parent.addEventListener("click", handler, { capture: true });Alternativet passive
{ passive: true } lover at De ikke vil kalle preventDefault, slik at nettleseren kan optimalisere rulleytelsen.
window.addEventListener("scroll", onScroll, { passive: true });Alternativet signal
Et signal fra en AbortController lar Dem fjerne én eller flere lyttere ved å avbryte signalet, noe som er praktisk ved opprydding.
const controller = new AbortController();
btn.addEventListener("click", handler, { signal: controller.signal });
controller.abort(); // removes the listenerthis i behandlingsfunksjoner
I en behandlingsfunksjon som er en vanlig funksjon, viser this til elementet som lytteren er knyttet til. Pilfunksjoner binder ikke this på nytt.
btn.addEventListener("click", function () {
console.log(this); // the button element
});Hurtigsjekk
Test reglene for fjerning.
Oppsummering
addEventListener(type, handler, options) abonnerer på hendelser og støtter flere lyttere. Fjern dem med removeEventListener ved å bruke den samme referansen, og foretrekk derfor navngitte funksjoner. Nyttige alternativer er once, capture, passive og signal. I vanlige behandlingsfunksjoner er this målelementet.
Lær deg JavaScript med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 59
- Leksjoner
- 200
Ofte stilte spørsmål
Er leksjonen «Grunnleggende om addEventListener» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien JavaScript Academy, inkludert «Grunnleggende om addEventListener», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i JavaScript Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Grunnleggende om addEventListener»?
Knytt hendelsesbehandlere til elementer. Du øver på JavaScript Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med JavaScript Academy?
Ingen tidligere erfaring er nødvendig. JavaScript Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Grunnleggende om addEventListener»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne JavaScript Academy-leksjonen?
Ja. Alle JavaScript Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Grunnleggende om addEventListener
- Hendelsesobjektet
- preventDefault og stopPropagation
- Tastatur- og mushendelser