ホームページ >ウェブフロントエンド >jsチュートリアル >addEventListener 関数に引数を渡すにはどうすればよいですか?

addEventListener 関数に引数を渡すにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-11 20:10:11237ブラウズ

How Can I Pass Arguments to an addEventListener Function?

addEventListener リスナー関数に引数を渡す方法

イベント リスナー関数に引数を渡すシナリオでは、引数が次のような状況に遭遇する可能性があります。関数内ではアクセスできません。これは、次のように関数に変数を割り当てるときに発生する可能性があります。

var someVar = some_other_function();
someObj.addEventListener("click", function(){
    some_function(someVar);
}, false);

ここで、問題は、someVar の値がイベント リスナーの関数内で使用できないことです。

Aより良いアプローチ: イベント ターゲットのパラメータを使用する

これを解決するには、イベント オブジェクトの target 属性を利用して、リスナーに渡されるパラメータを取得します。 関数。次の例を考えてみましょう:

const someInput = document.querySelector('button');
someInput.addEventListener('click', myFunc, false);
someInput.myParam = 'This is my parameter';

function myFunc(evt)
{
    window.alert(evt.currentTarget.myParam);
}

この変更されたコードでは:

  • パラメータ (「これは私のパラメータです」) を入力要素の myParam プロパティに割り当てます。
  • myFunc 関数はイベント リスナーのスコープ外で定義されています。
  • 入力要素がクリックされると、 myFunc 関数が呼び出されます。
  • myFunc 関数内では、evt.currentTarget.myParam を介してパラメーターにアクセスできます。

このアプローチにより、引数をイベント リスナーに効果的に渡すことができます。元の問題が発生することなく機能します。

以上がaddEventListener 関数に引数を渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。