A különbség finom, de elengedhetetlen tudni.

Események!

Ez egy fontos módja annak, hogy webhelye ténylegesen „tegyen dolgokat”.

Az „MDN” egy eseményt a következőképpen definiál:

"A Event interfész egy olyan eseményt jelent, amely a DOM-ban megy végbe."

Az események olyan műveletek vagy események, amelyek a programozott rendszerben történnek, és amelyekről a rendszer tájékoztat, így kívánság szerint reagálni tud rájuk.

Például, ha a felhasználó kiválaszt egy gombot egy weboldalon, akkor a műveletre egy információs mező megjelenítésével válaszolhat.

Ebben a cikkben az események kezelésének két módjáról és arról, hogy melyik módszert érdemes használni az Ön helyzetétől függően.

A JavaScript-események kezelésének két módja

A mai naptól kezdve kétféleképpen kezelheti az eseményeket JavaScriptben:

  1. Eseménykezelő használatával
  2. Eseményfigyelő hozzáadásával

Szóval hogy néznek ki ezek?

1. módszer – Eseménykezelő

Az eseménykezelő az objektum „EventHandler” tulajdonságának használatával a JavaScriptről felismerhető.

Kicsit bonyolultan hangzik, de valószínűleg már láttad már.

Valahogy így nézhet ki:

const button = document.querySelector(".btn")
button.onclick = function() {
  console.log("Hello!");
};
// OR
button.onclick = () => {
  console.log("Hello!");
};

Ebben a példában az „onclick” eseménykezelő tulajdonságot használjuk, hogy amikor a felhasználó erre a gombra kattint, a „Hello!” a konzolhoz.

Az „onclick” eseménykezelő tulajdonság csak egy a SOK használható eseménykezelő közül. A teljes lista megtekintéséhez "nézze meg a teljes listát az MDN-en".

2. módszer – Eseményfigyelő

A másik módszer az események használatára a JavaScriptben, ha eseményfigyelőt adunk egy objektumhoz.

Ha eseményfigyelőt adunk egy objektumhoz, akkor a felhasználó vagy a böngésző által kiváltott események széles skáláját megfoghatjuk.

Ezt is ismerheti. Kicsit így nézhetnek ki:

const button = document.querySelector(".btn")
button.addEventListener("click", function(event) {
  console.log("Hello!");
})
// OR
button.addEventListener("click", event => {
  console.log("Hello!");
})

A fenti kód ugyanazt a példát mutatja, mint az eseménykezelőnél, a „Hello!” naplózásával. a konzolon, amikor a felhasználó rákattint a gombra.

Ezúttal az „onclick” tulajdonság használata helyett egy eseményfigyelőt adunk hozzá, amely elindítja a „click” eseményt, majd naplózza a „Hello!” üzenetet.

Rengeteg olyan esemény is létezik, amelyeket eseményfigyelő segítségével meg lehet hallgatni. Itt van az összes meghallgatható esemény teljes listája.

Mi a különbség?

Van egy finom, de fontos különbség a két eseménykezelési módszer között.

Ha az első módszert, az eseménykezelőket használja, a különbség az, hogy ha két eseménykezelőt ad hozzá ugyanahhoz a gombra kattintáshoz, akkor a második eseménykezelő felülírja az elsőt, és csak az esemény aktiválódik.

Ami elvezet minket a fő tanuláshoz:

Egy adott elemhez eseménytípusonként csak egy eseménykezelő lehet, de több eseményfigyelő is lehet.

Ez a legfontosabb különbség. Szóval hogy néz ez ki?

const button = document.querySelector(".btn")
button.onclick = () => {
  console.log("Hello!");
};
button.onclick = () => {
  console.log("How are you?");
};
// This wil log "How are you?" to the console.

A fenti példában az „onclick” eseménykezelőt kétszer használjuk.

Így az első felülírásra kerül, és amikor a felhasználó rákattint a gombra, naplózza a "Hogy vagy?" a konzolhoz.

Tehát mi történik, ha az „addEventListener”-t használjuk?

const button = document.querySelector(".btn")
button.addEventListener("click", event => {
  console.log("Hello!");
})
button.addEventListener("click", event => {
  console.log("How are you?");
})
// This wil log 
// "Hello!"
// "How are you?"
// to the console

A fenti példában több eseményfigyelőt adunk a gombhoz.

Így amikor a felhasználó rákattint, mindkét funkciót elindítja, és naplózza a „Hello! Hogy vagy?" a konzolhoz.

Melyiket érdemes használni?

Az, hogy melyik módszert használja, teljes mértékben az Ön használati esetétől függ.

Egynél több eseményt kell csatolnia egy elemhez? Fogsz a jövőben? Valószínű, hogy így lesz.

Ezért általában az „addEventListener” használata javasolt.

Szóval mit tanultunk?

  1. Az események kezelésének két módja van: eseménykezelő tulajdonság használata vagy eseményfigyelő hozzáadása.
  2. Egy adott elemhez eseménytípusonként csak egy eseménykezelő lehet, de több eseményfigyelő is lehet.
  3. Általában tanácsos eseményfigyelőket használni.

Köszönöm, hogy elolvasta! Remélem ma tanultál valami újat.

Szeretné a legtöbbet kihozni webhelyéből? Tekintse meg „Az Ön webhelye szívás” című e-könyvemet, és töltsön le egy fejezetet ingyen!

Még jobban szeretné fejleszteni JS-készségeit? Tekintse meg másik cikkemet „6 alapvető JavaScript-tipp a 2020-as fejlesztőknek”, hogy még jobb legyen a JS.

Legyen szép napod! 😄