2017-07-01 5 views
-2

以下のスクリプトで.addEventListenerメソッド内で特定の配列変数をiとして呼び出すことを希望しますが、現在、「未定義のclassName 'プロパティを読み取れません」:親スコープから特定の配列を呼び出す

v = document.getElementsByClassName("whatever"); 

for (i = 0; i < v.length; i++) { 
    v[i].addEventListener('pointerdown', function() { 
     v[i].className -= " scrolloff"; 
    }, false); 
} 

エラーメッセージは、v [i]として指定されたvの配列要素が設定されていないことを明らかに示しています。

このような親スコープで配列変数セットを呼び出す方法はありますか?

は、ループが完了すると、各要素は、それに接続されているイベント機能を持つ事前

答えて

1

にご協力いただきありがとうございます。しかし、この関数はv [i]にアクセスしようとしますが、私は未定義です。それはなぜあなたがエラーを取得します。あなたのような機能の中でthisを使用することができます:

for (i = 0; i < v.length; i++) { 
    v[i].addEventListener('pointerdown', function() { 
     this.className -= " scrolloff"; 
    }, false); 
} 
関連する問題