0
AFAIK使用單擊事件並且addEventListener()
應該從最裏面的元素直到最外層的父元素。那麼下面的代碼有什麼問題?JavaScript addEventListener爲什麼它不會在這裏冒泡?
function ChangeBackground(e){
e.target.style.background = "rgb("+parseInt(Math.random()*256)+","+parseInt(Math.random()*256)+","+parseInt(Math.random()*256)+")";
}
var all= document.querySelectorAll("div,span,p");
for(var i=0; i<all.length;i++){
all[i].addEventListener("click",ChangeBackground);
}
div, span, p{
display: inline-block;
padding: 10px;
border: 1px solid;
}
<span>span
<div>div
<p>p</p>
</div>
<p>p</p>
</span>
<div>div
<div>div
<div>div</div>
</div>
<div>div</div>
</div>
當我點擊p
,它不會改變它的父元素的背景。