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>
関連記事
-
-
highcharts.jsで棒グラフと折れ線グラフを1つのグラフに入れる
highcharts.jsで「棒グラフと折れ線グラフを入れる」「Y軸はそれぞれ違 ...
-
-
JSからJSON形式のデータをfetchで投げてPHPで受け取り、PHPから返してJSで受け取る方法
JavaScriptからPHPに対してJSON形式のデータをfetch通信でリク ...
-
-
JavaScript / PHPにて「lz-string」を用いてデータの圧縮・展開する方法
文字数が多いGETパラメータを送信したいというケースがあった。また、送信側はJa ...
-
-
バニラJavaScriptでdisplay:none/blockの切り替え方法
指定要素の表示非表示を切り替える場合jQueryだとhide/show使うか、t ...
-
-
「display: block !important;」指定された要素をjQueryで非表示にする方法
jQueryで特定の要素を非表示にしたかったのでhide()を使用したところ非表 ...