- iOS alkalmazások
- iPhone topik
- Apple iPhone Air - almacsutka
- Kijelző került a kamerasávra a Xiaomi 17 Pro és 17 Pro Max hátulján
- Google Pixel 10 Pro XL – tíz kicsi Pixel
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Két nap múlva itt a Xiaomi 17, van egy pár hivatalos fotó is róla
- Vivo X200 Pro - a kétszázát!
- A OnePlus 10T is törékeny jószág lett
- Mobil flották
-
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
- iOS alkalmazások
- Assetto Corsa EVO
- iPhone topik
- Riasztó topik
- sziku69: Fűzzük össze a szavakat :)
- exHWSW - Értünk mindenhez IS
- Luck Dragon: Asszociációs játék. :)
- PlayStation 5
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- További aktív témák...
- Latitude 7430 27% 14" FHD IPS érintő i7-1265U 32GB 512GB NVMe magyar vbill IR kam gar
- Corsair RM 750 - tökéletes állapotban, dobozában eladó!
- X1 Carbon 11th 14" FHD+ IPS i5-1335U 16GB 256GB NVMe magyar vbill ujjlolv IR kam gar
- Thrustmaster t-lcm pedál
- ZBook 15 G6 15.6" FHD IPS i7-9850H T2000 32GB 512GB NVMe magyar vbill gar
- LG 42LX330C 42" LED-backlit LCD TV - Full HD
- Azonnali készpénzes Microsoft XBOX Series S és Series X felvásárlás személyesen/csomagküldéssel
- iMac Pro 1.1 2017 Intel Xeon W2150B 64GB 1TB VEGA 64 16GB!!! 1 év garancia!
- Samsung Galaxy A53 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! GB H610M i3 13100F 16GB DDR4 512GB SSD RTX 2060 6GB Cooler Master MB320L ARGB ADATA 600W
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest