JavaScriptにおけるループ内での匿名ハンドラーの追加
ループ内で追加するハンドラーには、匿名関数も使用できます。 これによりコードがよりコンパクトになり、 1箇所でしか使わない関数に名前を考える手間が省けます。
要素に匿名ハンドラーを追加してみましょう:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function() {
console.log(this.textContent);
});
}
以下のコードがあります:
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
let divs = document.querySelectorAll('div');
for (let div of divs) {
div.addEventListener('click', func);
}
function func() {
this.textContent++;
}
ハンドラー関数を匿名関数にしてください。