2 回答

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以參考event.currentTarget
而不是event.target
:
Event 接口的 currentTarget 只讀屬性 [...] 始終指的是已附加事件處理程序的元素,而不是 Event.target,后者標(biāo)識(shí)發(fā)生事件的元素并且可能是其事件處理程序的元素。后裔。
在下面的代碼片段中請(qǐng)注意,無論哪個(gè)元素觸發(fā)事件,currentTarget
始終是包含<li>
元素:
function doStuff(e) {
? console.clear();
? console.log(`target: ${e.target.className}`); // div-child
? console.log(`currentTarget: ${e.currentTarget.className}`); // li-parent
}
ul {
? list-style: none;
? margin: 0;
? padding: 1rem;
? background: tomato;
}
li {
? padding: 0.25rem;
? background: bisque;
}
li div {
? background: white;
? margin: 0.5rem;
? padding: 0.5rem;
}
<ul>
? <li class="li-parent" onmouseover="doStuff(event)">
? ? <div class="div-child">child 1</div>
? ? <div class="div-child">child 2</div>
? </li>
</ul>
- 2 回答
- 0 關(guān)注
- 152 瀏覽
添加回答
舉報(bào)