簡単な例では、要素の第1レベルの子のデリゲートを作成しようとしています。問題は、子要素に子がある場合に発生します。マウスイベントは、クリックされた要素を考慮します(レベルに関係なく)。
私の解決策は、第1レベルの子供に到達するまで循環することです。しかし、これが最善の方法かどうか疑問に思います。
デリゲートクリック時に第1レベルの子を直接返す方法はありませんか?
JS
window.onload=function(){
document.getElementById('test').addEventListener('click', function(e){
console.log(e.target);alert(e.target.id);
}, false);
}
HTML
<div id="test">
<a href="#" id="first">First</a>
<a href="#" id="second"><b>Second</b></a>
<a href="#" id="third">Third</a>
<a href="#" id="fourth">Fourth</a>
<div id="div">Division</div>
<div id="div2"><span>Division</span></div>
</div>