15

可能重复:
如何将参数传递给 addEventListener 侦听器函数?

如何通过事件将一些参数(在本例中为整数)传递给addEventListener函数click

我有两个按钮;如果我按右边的我想做一些事情,如果我按左边的那么我希望它做其他事情。

这是代码:

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 回答