LoginSignup
12
8

More than 5 years have passed since last update.

イベントリスナーのリスナー関数を引数付きbind()にした場合、イベントオブジェクトは最後の引数で渡される

Last updated at Posted at 2016-02-28

備忘録。

function fnc(a, b, c, d, e){
   console.log(a, b, c, d, e);
   // elmをクリックしたとき、コンソールに出力されるのは
   // > 'aaa', 'bbb', 'ccc', 'ddd', MouseEvent
   // となる
};
elm.addEventListener('click', fnc.bind(elm, 'aaa', 'bbb', 'ccc', 'ddd'), false);

ただ上記のようなaddEventLisner()の書き方をするとremoveEventListener()ができなくなる。
removeEventListener()もやらなければならない場合は、いったん変数に保持して変数を使って行うしかなさそう

var bindFnc = fnc.bind(elm, 'aaa', 'bbb', 'ccc', 'ddd');
elm.addEventListener('click', bindFnc, false);
elm.removeEventListener('click', bindFnc, false);
12
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
8