JavaScriptにてaddEventListenerで実行する関数に対して引数を渡す方法
JavaScriptにてaddEventListenerで実行する関数に対して引数を渡したい。addEventListener内にfunctionを書いてしまえば対応できそうなんだけど、可読性の問題で別の部分に関数を記述しておきたかった。以下に引数を渡す方法をメモ。
対応方法
パターン1
<button id="btn">btn</button>
<script>
const param = 12345;
const btn = document.querySelector(`#btn`);
btn.addEventListener(`click`, {param: param, handleEvent: testFunc});
testFunc(param);
function testFunc( e ){
const param = ( this.param === undefined ) ? e : this.param;
console.log(param); //12345
}
</script>
パターン2
<button id="btn">btn</button>
<script>
const param = 12345;
const btn = document.querySelector(`#btn`);
btn.addEventListener(`click`, testFunc);
btn.param = param;
testFunc(param);
function testFunc( e ){
const param = ( e.target === undefined ) ? e : e.target.param;
console.log(param); //12345
}
</script>
関連記事
-
-
バニラJavaScriptのDOMContentLoadedとは?
jQuery等を用いない素のJSで書かれたプログラムを触る機会があり、そのソース ...
-
-
国土地理院のAPIを使用して無料でジオコーディング(住所→経度緯度)を行う方法
GoogleMapAPIでジオコーディングをするには、支払い情報を登録したアカウ ...
-
-
JavaScriptで配列やオブジェクトの中身をブラウザに表示する方法
JavaScriptで配列やオブジェクトの中身を確認したい場合、console. ...
-
-
Lightboxで画像拡大時に閉じるボタンの位置を右上に変更
Lightbox(バージョン2.7.1)で画像拡大時に閉じるボタンの位置を右下か ...
-
-
CodeIgniter4 & jQueryを用いて同一サイト内でajax通信する方法
CodeIgniter4.4.4 & jQueryを用いて同一サイト内で ...