ホームページ >ウェブフロントエンド >jsチュートリアル >パラメータを使用した JS ループ動的バインディング関数で発生する問題と解決策 [transfer]_javascript スキル
ご存知のとおり、パラメーターを使用しないバインディングは非常に簡単で、(構文: "document.getElementById("オブジェクト ID 名").attachEvent("イベント名 (onchange など)、関数名);") を使用するだけです (例: "ドキュメント。getElementById("select_0").attachEvent("onchange",modifyFunction);")。 (注: 以下は単なる例です)
パラメーターを使用したバインドはさらに複雑です: document.getElementById("select _0").attachEvent("onchange",function(){modifyFunction (obj,i););つまり、実行する必要がある関数を function() に記述するだけです。もちろん、document.getElementById("select _0").onchange=function(){modifyFunction (obj,i);); という別の書き方もあります。
バインドが成功しました。OK。しかし、このとき、渡されたパラメータ値がすべて同じであるという問題が発生しました。i の値を渡した後、各バインドされた関数のパラメータ値が異なるとは予想外でした。
それでは、オンラインで Baidu にアクセスしてください。難しい検索とテストの結果、次のような例も見つかりました。