- Google Pixel topik
- Végre hivatalos, mikor lesz az S26 hivatalos
- Apple iPhone Air - almacsutka
- Elődje legnagyobb hibáját javítja az iPhone 17e
- iPhone topik
- Szívós, szép és kitartó az új OnePlus óra
- OnePlus 9 Pro - gyorsulási futam
- Beköszönt a hajlítható telefonok aranykora
- Nézegesd az S26 család renderképeit!
- Magisk
-
Mobilarena
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
TheProb
#5821
üzenetére
Azért, mert így nem írsz felül semmilyen másik, szintén onloadra bekövetkező eseménykezelőt, olyat, amit pl. akár egy másik fájlban határoztál meg (Te vagy akár egy library), hiszen így HOZZÁADSZ egy eseménykezelőt, mint az a nevében benne is van (addEventListener), nem pedig felülvágod az onloadot egy egyenlőségjellel, hogy az lesz az eseménykezelő, és kész, semmi más.
Vegyünk egy nagyon egyszerű példát:
A HTML-struktúrában ez a két fájl van behúzva:...
<script src="testjs-1.js"></script>
<script src="testjs-2.js"></script>
...testjs-1.js tartalma:
window.onload = function() {
alert("asdasd");
}testjs-2.js tartalma:
window.onload = function() {
alert("blabla");
}Ha mindkét fájlban meghatározott eseménykezelő fontos lenne, hogy lefusson a load esemény hatására, hát akkor szomorúan fogjuk tapasztalni, hogy bizony ez nem történik meg, csak a "blabla" felirat fog felpattanni, pedig elvártuk volna, hogy előtte az "asdasd" szöveg is vágódjon a pofánkba.
Most ha átírod így:
testjs-1.js tartalma:
window.addEventListener("load", function(event) {
alert("asdasd");
}, false);testjs-2.js tartalma:
window.addEventListener("load", function(event) {
alert("blabla");
}, false);Akkor innentől kezdve először felugrik az "asdasd", majd a "blabla" feliratú ablak. Pont ezt vártuk el, mindkét eseménykezelő lefutott.
A window.removeEventListener("load", load, false); sor pedig a jsFiddle-re felrakott példában azt jelenti, hogy eltávolítjuk az eseménykezelőt, hiszen ha már egyszer lekezeltük a betöltődés eseményét, akkor teljesen felesleges, hogy rá legyen aggatva egy eseménykezelő, mivel az esemény már bekövetkezett, nem fog többször bekövetkezni.
Még régebben az MDN oldalán láttam, aztán rászoktam a használatára, elméletileg így kevesebb erőforrást eszik a script. Általában egyébként elvileg elég jelentéktelen lehet az ebből adódó különbség, így egy weboldal esetében igazából nem biztos, hogy érdemes vele foglalkozni, hogy ez a sor szerepeljen egyáltalán a kódban, de egyébként alapvetően nem egészséges, ha feleslegesen sok listenert aggatunk fel ide-oda az alkalmazásunkban, ezért spórolok vele, hiszen minden listener azért kér némi erőforrást - így pl. egy böngésző esetén ha sok-sok bővítmény van telepítve, és mindegyik felaggatja a kis listenerjét, majd ott is marad, akkor az már elméletileg számíthat.A többi remélem érthető, kérdezz, ha nem tiszta.
Új hozzászólás Aktív témák
- Google Pixel topik
- Százmilliárd dolláros AI-fegyverkezésbe kezdett az Amazon és a Google
- Formula-1
- Végre hivatalos, mikor lesz az S26 hivatalos
- Parfüm topik
- Luck Dragon: Asszociációs játék. :)
- Horgász topik
- Apple iPhone Air - almacsutka
- Kormányok / autós szimulátorok topikja
- Elődje legnagyobb hibáját javítja az iPhone 17e
- További aktív témák...
- Kingston 16GB DDR5 5600MHz CL46 - Új, bontatlan, több darab - Eladó!
- Corsair VENGEANCE RGB 2x16GB DDR5 6400MHz CL32 - Új, bontatlan - Eladó!
- Corsair VENGEANCE RGB 2x16GB DDR5 6200MHz CL36 - Új, bontatlan - Eladó!
- Corsair VENGEANCE RGB 2x16GB DDR5 6000MHz CL36 - Új, bontatlan - Eladó!
- Chieftec proton 750w full moduláris
- Eladó Apple iPhone 13 Mini 128GB / 12 hó jótállás
- HIBÁTLAN iPhone 14 Pro 256GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, 100% Akkumulátor
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- Apple iPhone 12 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone i5 14600KF 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


