(134) JavaScriptのイベントのコールバック関数に独自のパラメータを渡したい。

投稿者: | 2022年3月13日

70 views

1. やりたいこと

コールバック関数に独自のパラメータを渡したい。

2. やってみる

イベントハンドラの登録時に、任意のパラメーターを JSON形式で付加することができる。

まずは手順だけ記録しておく。
後日詳細を追記する かも…

下記の例では、独自パラメーター i を index というラベル名で渡すように命令している。

for( i = 0 ; i < array_element.length ; i++ ){
  array_element[i].on('mousemove touchmove', {index: i}, function(e){
    var index = e.data.index;     // 独自パラメーターを取得
    // 処理を記述...
  });

【注意】
以下のように書いてしまうと、コールバック関数内では常に
i = array_element.length
として実行されてしまう。

for( i = 0 ; i < array_element.length ; i++ ){
  array_element[i].on('mousemove touchmove', function(e){
    var index = i;
    // 処理を記述...
  });

つまり…
要素数が 2であれば、ターゲットオブジェクトの序数に関係なく、常に i = 2 として関数が実行されてしまうので注意する。


コメントを残す

メールアドレスが公開されることはありません。


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)