.
са същите процесори както преди, но този път - по гмуркане етап. За да видите прихващането в действие, кликнете върху елемента в него
:
Трябва да бъде ФОРМА → → DIV P → P → → DIV ФОРМА. Имайте предвид, че елементът
участва и в двата етапа.
Както се вижда от примера, същия процесор може да се причисляват към различни етапи. В този случай номер на текущата го етап, ако е необходимо, може да се получи от свойства event.eventPhase на (= 1, ако потапяне е 3, ако изкачване).
За да направи по-лесно да се движите, събрах IE8- разлики, които са свързани с изкачване в една секция.
Техните знания ще бъдат необходими, ако решите да пишете на чисти JS, без рамки и трябва IE8- подкрепа.
Няма въведени имоти event.currentTarget
Имайте предвид, че при определяне на манипулатор през onsvoystvo имаме това. така event.currentTarget. Като правило, не е необходимо, но назначаването през attachEvent манипулатор не се получи това. така че текущия елемент, ако е необходимо, може да бъде взето само от затварянето.
Вместо event.target в IE8- използва event.srcElement
Ако се напише манипулатор, че ще подкрепи и IE8- и съвременни браузъри, можете да я стартирате, както следва:
За да спрете изкачване използва код event.cancelBubble = вярно.
Cross-браузър, за да спре изкачването, можете да:
По-късно през начинаещи, ние ще използваме стандартните свойства и предизвикателствата, тъй като добавянето на тези редове, за да се гарантира съвместимост - сравнително проста и очевидна задача. Освен това, никой не си прави труда да се свърже polifill.
Още веднъж бих искал да отбележа - тези различия трябва да знаете, когато пишете JS-код-съвместим IE8- без рамки. Почти всички JS-рамки предоставят различни браузъри подкрепа, за да се насочите. currentTarget и stopPropagation ().
- Когато настъпи събитие - елементът, на която е маркирана като "мишена" (event.target).
- Следваща събитие е първото премества надолу от корена на документа, за да event.target. по протежение на пътя причинява отговорниците пуснати през addEventListener (. истина).
- На следващо място, събитието се движи от event.target до корена на документа, пътят причинявайки отговорниците сложи сам * и addEventListener (. False).
Всеки процесор има достъп до свойствата на събитието:
- event.target - най-дълбоката елемент на която е настъпило събитието.
- event.currentTarget (= това) - елемент, който най-манипулатор момент натоварване (към които "плуват" събитие).
- event.eventPhase - до каква фаза тя работи (= 1 гмуркане, възляза = 3).
Всеки процесор може да го спре, като се обадите event.stopPropagation (). но това не се препоръчва, защото в бъдеще това събитие може да се наложи, понякога най-неочаквани неща.
В настоящия етап на развитие на потапяне се използва много рядко.
Има две причини:
Исторически - тъй като IE версия 9 само напълно подкрепя сегашния стандарт.
Разумна - когато възникне събитие, е разумно да се даде възможност на първия преработвател на работа елемент, защото това е най-специфичния. Кодът, който се поставя върху елемент процесор, знае максимума на информация за какъв вид елемент на това, което той прави.
Освен това, има смисъл да се прехвърли на обработката на събитието, за да родителя - той също разбира какво се случва, но в по-малко подробности и т.н. - по-горе, и така нататък, докато на документ. процесор, който изпълнява най-често срещаната функционалността документ ниво.