addEventListenerで、クリックした要素そのものを受け取りたい
質問
addEventListenerで、クリックした要素そのもの(id未指定)を受け取るには、どうすれば良いでしょうか?
・渡す側で何とかしてループ処理するしかない?
現状
・onclick
<div id="area">
<button onclick="hoge(this);">1</button>
<button onclick="hoge(this);">2</button>
</div>
<script>
function hoge(obj) {
console.log(obj);
}
</script>
やりたいこと
・addEventListenerで、クリックした要素(divではなくbutton)を受け取りたい
<div id="area">
<button>1</button>
<button>2</button>
</div>
<script>
function hoge() {
console.log(this);
//ここでクリックした要素(divではなくbutton)を受け取りたい
}
var el = document.getElementById("area");
el.addEventListener("click",hoge, false);
</script>
その他
・buttonタグには、id名class名を付与しない
・buttonタグは動的生成のため、階層構造は変化する(生成の度に前後にノードを挿入する可能性あり)