- Milyen TV-t vegyek?
- Milyen monitort vegyek?
- Nem akármilyen új GeForce jöhet idén
- Milyen billentyűzetet vegyek?
- Milyen videókártyát?
- Kormányok / autós szimulátorok topikja
- Amlogic S905, S912 processzoros készülékek
- DUNE médialejátszók topicja
- HTPC (házimozi PC) topik
- Penta-Tandem néven jelöli az új, ötrétegű QD-OLED paneljeit a Samsung
-
PROHARDVER!
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
- L14 Gen1 14" FHD IPS i5-10210U 16GB 256GB NVMe magyar bill ujjlolv IR kam gar
- Lenovo ThinkCentre M93p Tiny - Core i5-4570T/16GB RAM/0 SSD
- GYÖNYÖRŰ iPhone 15 Pro Max 256GB Fekete Titán - 12 hónap JÓTÁLLÁS - Kártyafüggetlen, 100% Aksi
- GYÖNYÖRŰ iPhone 15 Pro Max 256GB Fehér Titán - 12 hónap JÓTÁLLÁS - Kártyafüggetlen, 100% Aksi
- Precision 5570 27% 15.6" FHD+ IPS i7-12800H RTX A1000 16GB 512GB NVMe ujjlolv gar
- Saeco Talea Giro Automata kávégép 6 hónap Garancia Beszámítás Házhozszállítás
- Több darab! MacBook Pro 16" M1 32GB RAM 27%-os áfás számla
- Windows 10 / 11 Pro Retail aktiváló kulcs Azonnal szállítással, számlával, garanciával!
- Használt Ausdom AF640 Full HD webkamera
- Xbox Elite Series 2 Core kontroller
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


