JavaScript DOM API : Вопрос 1 : 16

Есть такая верстка:

<div id="q"> 
    <div id="w"> 
        <div id="e">click</div> 
    </div> 
</div> 

И такой скрипт:

document.getElementById("q").addEventListener("click", on, false); 
document.getElementById("w").addEventListener("click", on, false); 
document.getElementById("e").addEventListener("click", on, false); 
function on(evt) { 
    alert(evt.target.id +" > "+ evt.currentTarget.id); 
} 

В Firefox и Opera при клике по слову "click" выведется:

1) e > e, e > w, e > q - сколько обработчиков, столько и алертов; target не меняется

2) e > e, w > e, q > e - currentTarget не меняется

3) e > e, w > w, q > q - target аналогичен currentTarget

4) e > e, e > w, e > q - обработка клика по #e, и 
w > w, q > q - обработка клика по #w, и 
q > q - обработка клика по #q

5) прошлый вариант (шесть алертов), но в обратном порядке (#q, #w, #e)

6) произойдет ошибка: для подобных целей следует использовать originalTarget и rangeParent
1 балл


© Copyright © 2017 - 2019 Все права защищены. Бесплатное онлайн образование.