0
私はforループと配列を持っています。その配列の各要素にはボタンがあります。すべてのボタンにはonmouseover
というイベントがあります。onmouseover ForループでのイベントJavaScriptサブルーチン不正な引数
注:コードは私のポイントを作るために簡略化されています。 doSomething
は一つのパラメータを受け入れ
for(i = 0; i < array.length; i++){
var button = document.createElement("button");
button.onmouseover = function() {doSomething(i)};
}
、i
。
カーソルがbutttonsのいずれか、doSomething
に供給される引数にカーソルを合わせない - i
は関係なく、カーソルが上をホバリングしているボタンの、常にarray
の長さです。なぜこれが起こるのですか、関数に正しい引数が供給されるようにするにはどうすればよいですか?
したがって、関数定義の後に置かれた '(i)'は、関数宣言で 'i'を' inner_i'に代入すると仮定しますか? – Fitzy