ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で動的に生成された要素にイベント ハンドラーを効率的に割り当てるにはどうすればよいですか?

JavaScript で動的に生成された要素にイベント ハンドラーを効率的に割り当てるにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-29 12:05:14
オリジナル
636 人が閲覧しました

How Can I Efficiently Assign Event Handlers to Dynamically Generated Elements in JavaScript?

JavaScript でループを使用してイベント ハンドラーを効率的に生成する方法

HTML ドキュメント内に複数のアンカー タグなどの要素が動的に生成されていると仮定します。 。これらの各要素にイベント ハンドラーを割り当てるには、次のようなループの使用を検討できます:

for(i=1; i<11; i++) {
    document.getElementById("b"+i).onclick=function() {
        alert(i);
    }
}
ログイン後にコピー

ただし、すべてのハンドラーが同じ i 変数を共有するため、このアプローチでは望ましい動作が得られません。 。その結果、最後のハンドラーのみが割り当てられ、値 "11" が常に警告されます。

この問題を解決するには、i を引数として受け取るハンドラーごとに個別の関数を使用できます。これにより、各ハンドラーが独自の i 変数を持つことが保証されます:

function handleElement(i) {
    document.getElementById("b"+i).onclick=function() {
        alert(i);
    };
}

for(i=1; i<11; i++)
    handleElement(i);
ログイン後にコピー

この手法を利用すると、各ハンドラーに固有の i 値が割り当てられ、各ハンドラーが正しい値を通知することで望ましい動作が実現されます ( 1 ~ 10)。

以上がJavaScript で動的に生成された要素にイベント ハンドラーを効率的に割り当てるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート