【问题标题】:How to pass some parameters to function called in addEventListener? [duplicate]如何将一些参数传递给 addEventListener 中调用的函数? [复制]
【发布时间】:2012-11-14 06:42:15
【问题描述】:

可能重复:
How to pass arguments to addEventListener listener function?

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

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

代码如下:

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
  }
}

【问题讨论】:

    标签: javascript


    【解决方案1】:

    你没有。使用匿名函数:

    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);
    

    【讨论】:

    • 以及如何删除这个 eventListener ?如果有匿名函数。
    • document.getElementById("myDIV").removeEventListener("mousemove", myFunction);
    猜你喜欢
    • 2014-06-26
    • 1970-01-01
    • 2012-08-15
    • 2014-05-25
    • 2011-06-04
    • 2022-01-21
    • 2010-09-20
    • 2014-05-22
    相关资源
    最近更新 更多