Page 303 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 303
addEventLogger ( d iv, ' c apture ' , ' c ancel ' ) ;
r
addEventLogge ( div, ' Ь uЬЫе ' ) ;
addEventLogger ( b utton , ' c apture ' ) ;
r
addEventLogge ( button, ' Ь uЬЫе ' ) ;
Здесь распространение продолжается, но событие отмечено как отмененное.
capture : BODY
capture : DIV ( о т менено )
capture : BUTTON ( о тменено )
ЬuЬЫе : BUTTON ( о т менено)
ЬuЬЫе : DIV ( о т менено )
ЬuЬ Ы е : BODY ( о т менено)
Остановим распространение при перехвате в элементе <button>.
addEventLogge ( body, ' c aptur ' ) ;
e
r
r
addEventLogge ( body, ' Ь uЬЫе ' ) ;
addEventLogger ( d iv, ' c apture ' , ' c ancel ' ) ;
addEventLogger ( d iv, ' Ь uЬЫе ' ) ;
addEventLogger ( b utton , ' c apture ' , ' s to ' ) ;
p
addEventLogger ( b utton, ' Ь uЬЫе ' ) ;
Мы видим, что распространение события остановилось после элемента <button>.
Для элемента <but o n> события все еще генерируются, даже несмотря на то, что
t
произошел перехват события и остановлено его распространение. Элементы <di v>
и <body>, однако, не получают всплывающие события.
capture : BODY
capture : DIV ( c anceled)
capture : BUTTON ( c anceled)
ЬuЬЫе : BUTTON ( c anceled)
Наконец выполним немедленную остановку распространения при перехвате со
бытия в элементе <button>.
addEventLogge ( body, ' c apture ' ) ;
r
r
addEventLogge ( body, ' Ь uЬЫе ' ) ;
addEventLogger ( d iv, ' c apture ' , ' c ancel ' ) ;
addEventLogger ( d iv, ' Ь uЬЫе ' ) ;
addEventLogger b utton, ' c apture ' , ' s top ! ' ) ;
(
addEventLogger ( b utton, ' Ь uЬЫе ' ) ;
Распространение события полностью останавливается при перехвате в элементе
<button>, никакого д·альнейшего распространения не происходит.
capture : BODY
capture : DIV ( c anceled)
capture : BUTTON ( c anceled)
306 Глава 1 8 . JavaScript в браузере

