.
ugyanazok a feldolgozók, mint korábban, de ezúttal - a színpadon merülés. Látni, hogy a lehallgatás akcióban, kattintson az elem benne
:
Kell FORMA → DIV → P → P → → DIV formában. Megjegyezzük, hogy az elem
részt vesz mindkét szakaszban.
Amint látható a példa, ugyanaz a processzor lehet rendelni különböző szakaszaiban. Ebben az esetben száma a jelenlegi szakaszban, ha szükséges, lehet beszerezni a tulajdonságok event.eventPhase (= 1, ha merülő 3, ha az emelkedés).
Hogy könnyebb navigálni, szedtem IE8- különbségeket, amelyek kapcsolódnak a felemelkedés egy részbe.
Tudásuk lesz szükség, ha úgy dönt, hogy írjon tiszta JS, váz nélkül, és meg kell IE8- támogatást.
Nem tulajdonságok event.currentTarget
Megjegyezzük, hogy ha kijelöli a felvezető keresztül onsvoystvo van ez. így event.currentTarget. Általános szabály, hogy nem szükséges, de a találkozó révén attachEvent felvezető nem kapja meg. úgy, hogy az aktuális elem, ha szükséges, lehet venni csak a bezárást.
Ehelyett event.target a IE8- használt event.srcElement
Ha írunk egy kezelőt, amely támogatja és IE8- és modern böngésző, akkor indítsa el az alábbiak szerint:
Megállítani az emelkedési használt kód event.cancelBubble = true.
Határon böngésző megállítani a feljutás, akkor:
Később a bemutató, akkor a szabványos tulajdonságokkal és kihívások, mivel a hozzáadott ezeket a sorokat a kompatibilitás biztosítása érdekében - egy meglehetősen egyszerű és egyértelmű feladat. Ezen kívül, senki sem zavar, hogy csatlakozni polifill.
Ismét szeretném megjegyezni - ezek a különbségek kell tudni írásakor JS-kód engedélyezve IE8- keret nélkül. Szinte minden JS-keret arról böngészőtámogatások megcélozni. currentTarget és szerinti stopPropagation ().
- Amikor egy esemény bekövetkezik - az elem, amelyre jelölték „target» (event.target).
- Következő esemény költöztek le a gyökere a dokumentum event.target. az út mentén okozó rakodók tegye át addEventListener (. igaz).
- Ezután az esemény mozog event.target fel a dokumentum gyökér, az út ami a rakodók tegye át a * és addEventListener (. False).
Minden processzor hozzáfér esemény tulajdonságok:
- event.target - a legmélyebb eleme, amelyen az esemény bekövetkezett.
- event.currentTarget (= ez) - elem, amely abban a pillanatban terhelés felvezető (amelyre „úszik” esemény).
- event.eventPhase - milyen fázisban működött (= 1 merülés, emelkedjen = 3).
Bármilyen processzor tudja megállítani az esemény hívja event.stopPropagation (). de ez nem ajánlott, mert a jövőben ez az esemény szüksége lehet, néha a legváratlanabb dolgok.
A jelenlegi fejlődési szakaszában merítés nagyon ritkán.
Ennek két oka van:
Történelmi - mivel IE 9-es verzió csak a teljes mértékben támogatja a jelenlegi szabvány.
Ésszerű - amikor egy esemény bekövetkezik, akkor indokolt, hogy az elsődleges feldolgozó a munkát elem, mert ez a legkonkrétabb. A kód kerül a processzor elem, tudja, hogy a maximális részleteket arról, hogy milyen elem, hogy mit csinál.
Továbbá érdemes átadni a feldolgozás az esemény a szülő - azt is megérti, hogy mi történik, de kevésbé részletesen, stb - a fent és így tovább, amíg a dokumentum. processzor, amely végrehajtja a leggyakoribb dokumentum szintű funkcionalitást.