JS Tutoriaal

JS TUIS JS Inleiding JS Waarheen JS Uitset JS Verklarings JS sintaksis JS Kommentaar JS veranderlikes JS Laat JS Konst JS-operateurs JS Rekenkunde JS Opdrag JS datatipes JS Funksies JS Voorwerpe JS Events JS Strings JS String Metodes JS String Soek JS String Templates JS nommers JS-nommermetodes JS Skikkings JS Skikking Metodes JS Array Sorteer JS Skikking Iterasie JS Array Konst JS Datums JS Datum Formate JS Datum Kry Metodes JS Datum Stel Metodes JS Wiskunde JS Random JS Booleans JS Vergelykings JS Voorwaardes JS Skakelaar JS Loop Vir JS Loop For In JS Loop Vir Van JS Loop Terwyl JS Break JS Iterables JS-stelle JS Kaarte JS tipe JS Tipe Omskakeling JS Bitwise JS RegExp JS foute JS Bestek JS Hysing JS Streng modus JS hierdie sleutelwoord JS Arrow Funksie JS Klasse JS JSON JS Ontfouting JS Stylgids JS Beste Praktyke JS foute JS prestasie JS Voorbehou Woorde

JS weergawes

JS weergawes JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS Geskiedenis

JS Voorwerpe

Voorwerpdefinisies Voorwerp Eienskappe Voorwerp Metodes Voorwerp vertoon Voorwerptoebehore Voorwerpkonstrukteurs Voorwerpprototipes Object Iterables Voorwerpstelle Voorwerpkaarte Voorwerpverwysing

JS Funksies

Funksie definisies Funksie parameters Funksie Aanroep Funksie oproep Funksie Pas toe Funksie sluitings

JS Klasse

Klasintro Klas Erfenis Klas Staties

JS Async

JS Terugbelle JS Asynchroon JS Beloftes JS Async/Wag

JS HTML DOM

DOM Inleiding DOM Metodes DOM-dokument DOM Elemente DOM HTML DOM-vorms DOM CSS DOM-animasies DOM-geleenthede DOM Gebeurtenis Luisteraar DOM-navigasie DOM nodusse DOM Versamelings DOM Node lyste

JS Browser BOM

JS venster JS skerm JS ligging JS Geskiedenis JS Navigator JS Popup Alert JS Tydsberekening JS koekies

JS Web API's

Web API Inleiding Webvorms API Webgeskiedenis API Webberging API Webwerker API Web haal API Web Geolocation API

JS AJAX

AJAX Intro AJAX XMLHttp AJAX-versoek AJAX-reaksie AJAX XML-lêer AJAX PHP AJAX ASP AJAX-databasis AJAX toepassings AJAX voorbeelde

JS JSON

JSON Inleiding JSON-sintaksis JSON vs XML JSON-datatipes JSON Ontleed JSON Stringify JSON-voorwerpe JSON-skikkings JSON-bediener JSON PHP JSON HTML JSON JSONP

JS vs jQuery

jQuery keurders jQuery HTML jQuery CSS jQuery DOM

JS grafika

JS grafika JS Canvas JS Plot JS Chart.js JS Google Chart JS D3.js

JS Voorbeelde

JS Voorbeelde JS HTML DOM JS HTML-invoer JS HTML-voorwerpe JS HTML-geleenthede JS Blaaier JS Redakteur JS Oefeninge JS Vasvra JS Sertifikaat

JS Verwysings

JavaScript-voorwerpe HTML DOM-voorwerpe


JavaScript HTML DOM EventListener


Die addEventListener() metode

Voorbeeld

Voeg 'n gebeurtenisluisteraar by wat brand wanneer 'n gebruiker 'n knoppie klik:

document.getElementById("myBtn").addEventListener("click", displayDate);

Die addEventListener()metode heg 'n gebeurtenishanteerder aan die gespesifiseerde element.

Die addEventListener()metode heg 'n gebeurtenishanteerder aan 'n element sonder om bestaande gebeurtenishanteerders te oorskryf.

Jy kan baie gebeurtenishanteerders by een element voeg.

Jy kan baie gebeurtenishanteerders van dieselfde tipe by een element voeg, dws twee "klik" gebeurtenisse.

U kan gebeurtenisluisteraars by enige DOM-voorwerp voeg, nie net HTML-elemente nie. dws die venstervoorwerp.

Die addEventListener()metode maak dit makliker om te beheer hoe die gebeurtenis op borrel reageer.

Wanneer die addEventListener()metode gebruik word, word die JavaScript van die HTML-opmerk geskei, vir beter leesbaarheid en laat jou toe om gebeurtenisluisteraars by te voeg, selfs wanneer jy nie die HTML-opmerk beheer nie.

U kan 'n gebeurtenisluisteraar maklik verwyder deur die removeEventListener()metode te gebruik.


Sintaksis

element.addEventListener(event, function, useCapture);

Die eerste parameter is die tipe gebeurtenis (soos " click" of " mousedown" of enige ander HTML DOM-gebeurtenis .)

Die tweede parameter is die funksie wat ons wil oproep wanneer die gebeurtenis plaasvind.

Die derde parameter is 'n Boolese waarde wat spesifiseer of gebeurtenisborrel of gebeurtenisvaslegging gebruik moet word. Hierdie parameter is opsioneel.

Let daarop dat jy nie die "aan"-voorvoegsel vir die geleentheid gebruik nie; gebruik " click" in plaas van " onclick".


Voeg 'n gebeurtenishanteerder by 'n element

Voorbeeld

Waarskuwing "Hallo Wêreld!" wanneer die gebruiker op 'n element klik:

element.addEventListener("click", function(){ alert("Hello World!"); });

Jy kan ook verwys na 'n eksterne "benoemde" funksie:

Voorbeeld

Waarskuwing "Hallo Wêreld!" wanneer die gebruiker op 'n element klik:

element.addEventListener("click", myFunction);

function myFunction() {
  alert ("Hello World!");
}


Voeg baie gebeurtenishanteerders by dieselfde element

Die addEventListener()metode laat jou toe om baie gebeurtenisse by dieselfde element te voeg, sonder om bestaande gebeurtenisse te oorskryf:

Voorbeeld

element.addEventListener("click", myFunction);
element.addEventListener("click", mySecondFunction);

Jy kan gebeurtenisse van verskillende tipes by dieselfde element voeg:

Voorbeeld

element.addEventListener("mouseover", myFunction);
element.addEventListener("click", mySecondFunction);
element.addEventListener("mouseout", myThirdFunction);

Voeg 'n gebeurtenishanteerder by die venstervoorwerp

Die addEventListener()metode laat jou toe om gebeurtenisluisteraars by enige HTML DOM-objek by te voeg, soos HTML-elemente, die HTML-dokument, die vensterobjek of ander voorwerpe wat gebeurtenisse ondersteun, soos die xmlHttpRequestobjek.

Voorbeeld

Voeg 'n gebeurtenisluisteraar by wat begin wanneer 'n gebruiker die venster se grootte verander:

window.addEventListener("resize", function(){
  document.getElementById("demo").innerHTML = sometext;
});

Slaag parameters

Wanneer u parameterwaardes deurgee, gebruik 'n "anonieme funksie" wat die gespesifiseerde funksie oproep met die parameters:

Voorbeeld

element.addEventListener("click", function(){ myFunction(p1, p2); });

Gebeurtenis borrel of gebeurtenis vaslegging?

Daar is twee maniere van gebeurtenisvoortplanting in die HTML DOM, borrel en vaslegging.

Gebeurtenisvoortplanting is 'n manier om die elementorde te definieer wanneer 'n gebeurtenis plaasvind. As jy 'n <p> element binne 'n <div> element het, en die gebruiker klik op die <p> element, watter element se "klik" gebeurtenis moet eerste hanteer word?

In borrel word die mees binneste element se gebeurtenis eerste hanteer en dan die buitenste: die <p> element se klik gebeurtenis word eerste hanteer, dan die <div> element se klik gebeurtenis.

By die vaslegging van die buitenste element se gebeurtenis word eerste hanteer en dan die binneste: die <div> element se klik gebeurtenis sal eerste hanteer word, dan die <p> element se klik gebeurtenis.

Met die addEventListener() metode kan jy die voortplantingstipe spesifiseer deur die "useCapture" parameter te gebruik:

addEventListener(event, function, useCapture);

Die verstekwaarde is vals, wat die borrelende voortplanting sal gebruik, wanneer die waarde op waar gestel is, gebruik die gebeurtenis die vasvangvoortplanting.

Voorbeeld

document.getElementById("myP").addEventListener("click", myFunction, true);
document.getElementById("myDiv").addEventListener("click", myFunction, true);

Die removeEventListener() metode

Die removeEventListener()metode verwyder gebeurtenishanteerders wat met die addEventListener() metode aangeheg is:

Voorbeeld

element.removeEventListener("mousemove", myFunction);

HTML DOM Event Object Verwysing

Vir 'n lys van alle HTML DOM-gebeurtenisse, kyk na ons volledige HTML DOM Event Object Reference .


Toets jouself met oefeninge

Oefening:

Gebruik die eventListenerom 'n onclick-gebeurtenis aan die <button>element toe te wys.

<button id="demo"></button>

<script>
document.getElementById("demo").("", myFunction);
</script>