- Apple iPhone 16 - ígéretek földje
- iOS alkalmazások
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Apple Watch
- Samsung Galaxy Z Flip5 - ami kint, az van bent
- Fotók, videók mobillal
- Poco X5 Pro - ránézésre jó
- Honor Magic6 Pro - kör közepén számok
- VoLTE/VoWiFi
Új hozzászólás Aktív témák
-
fordfairlane
veterán
-
Sk8erPeter
nagyúr
válasz trisztan94 #10512 üzenetére
Attól függ, mi a cél (nem "jobb", csak más a hatás).
Itt meséltem el pont neked korábban az event.preventDefault() és return false közötti különbséget:
http://prohardver.hu/tema/jquery_kerdesek/hsz_2110-2110.htmlItt van egy nagyon jó szemléltető példa:
http://css-tricks.com/return-false-and-prevent-default/
--> http://css-tricks.com/examples/ReturnFalse/lényeg:
Van két <div>-doboz (legyen ez egy-egy szülődoboz), amibe bele van dobálva egy-egy link (<a>); de mivel a link display:block; stílusú, az is kvázi egy-egy gyerekdoboz.
A burkoló szülődobozra kattintáskor be van állítva, hogy a háttér változzon pirosra. Aztán a gyerekelemek (egy-egy link, <a>-elem) kattintás eseménye is le van kezelve: kattintáskor a feladat, hogy a gyerekdoboz (a linkek) háttere zöldre változzon. De a linknek ugye van egy alapértelmezett viselkedése a böngészőkben, az, hogy valamilyen hivatkozásra ugrik, legyen az adott betöltött lapon belüli hivatkozás (anchor - ha nincs olyan anchor a lapon, akkor csak a lap tetejére ugrik), vagy másik URL-re hivatkozás (frissítés érdekében persze lehet ugyanaz az URL is); így az alapértelmezett viselkedést felül kell bírálni, hogy ne ugráljon sehova.
A linkek alapértelmezett lekezelésének felülbírálására vonatkozik az event.preventDefault(), az event.stopPropagation(), valamint a return false. A return false tartalmazza az event.stopPropagation()-t, valamint az event.preventDefault()-ot is.
Az event.preventDefault() segítségével megakadályozzuk a böngésző alapértelmezett műveletének végrehajtását.
Az event.stopPropagation() segítségével megakadályozzuk, hogy az esemény bekövetkezése kvázi buborékként felússzon a DOM-fában, tehát hogy a szülők is értesüljenek az esemény bekövetkezéséről.A példára visszatérve látható a gyakorlati haszna is.
Bármelyik gyerekdobozra kattintasz, a háttér zöldre változik. Itt jön a különbség: a bal oldali gyerekdoboznál az eseménykezelőben csak e.preventDefault();-ot, jobb oldalt return false;-t használ. Különbség: a bal oldalon felszivárog az esemény a szülőbe is, így a szülő click eseménykezelője is tud mit kezdeni az eseménnyel, így a szülődoboz háttérszíne is megváltozik, a példában pirosra. Jobb oldalt megakadályoztuk az implicit event.stopPropagation() segítségével, hogy a szülő is értesüljön a click eseményről, így a szülőjének a doboza nem változik piros hátterűvé.Remélem, nagyjából érthető.
Sk8erPeter
Új hozzászólás Aktív témák
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest