15

重複の可能性:
addEventListenerリスナー関数に引数を渡す方法は?

イベントで関数addEventListenerに引数(この場合は整数)を渡すにはどうすればよいですか?click

2つのボタンがあります。右を押すと何かしたいのですが、左を押すと何か他のことをしたいです。

コードは次のとおりです。

document.getElementById('date_right').addEventListener( 'click', switch_date(1), false );
document.getElementById('date_left').addEventListener( 'click', switch_date(-1), false );
  function switch_date( k )
  {
    if(k==1)
    {
      //do stuff
    }
  else
  {
    //another stuff
  }
}
4

1 に答える 1

22

あなたはそうしない。匿名関数を使用する:

document.getElementById('date_right').addEventListener('click', function () {
    switch_date(1);
}, false);
document.getElementById('date_left').addEventListener('click', function () {
    switch_date(-1);
}, false);

または、引数を取らない名前付き関数を使用します。

function onRightDateClick() {
    switch_date(1);
}

function onLeftDateClick() {
    switch_date(-1);
}

document.getElementById('date_right').addEventListener('click', onRightDateClick, false);
document.getElementById('date_left').addEventListener('click', onLeftDateClick, false);
于 2012-11-26T18:20:38.783 に答える