javascript - JS 事件监听器,其函数只有一个参数

标签 javascript function dom-events

不确定如何为这个问题设置正确的标题,所以我想这就是为什么我找不到与之相关的任何内容。

如果这不是重复的,建议标题就好了。

我想知道如何使用必须传递一个参数的函数来实际添加/删除事件监听器。

简单的示例如下:

window.addEventListener('resize', anFunction, false);
window.removeEventListener('resize', anFunction, false);

但是如何设置必须包含参数的相同函数?下面的例子当然是无效的,因为我不知道该怎么做。

window.addEventListener('resize', anFunction(parameter), false);
window.removeEventListener('resize', anFunction(parameter), false);

最佳答案

例如,您可以使用以下之一:

  • 包装函数:

    function resizeListener() {
        anFunction(parameter);
    }
    
  • Function.prototype.bind :

    var resizeListener = anFunction.bind(void 0, parameter);
    
  • arrow function (EcmaScript6):

    var resizeListener = e => anFunction(parameter);
    

然后:

window.addEventListener('resize', resizeListener, false);
window.removeEventListener('resize', resizeListener, false);

关于javascript - JS 事件监听器,其函数只有一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26308205/

相关文章:

javascript - 我需要将两个元素传递给 onclick 事件处理函数 JavaScript 而不仅仅是它们的 id

javascript - d3.map() 函数未返回预期结果

javascript - 如何增加按钮单击Reactjs上的项目?

javascript - 如何修复 "Can' t 对未安装的组件执行 React 状态更新。React Native 中的错误

r - 为什么 R 中的 Order() 不返回正确的顺序?

javascript - 将 panright 与 Hammer.js 一起使用时如何仅触发一次方法?

javascript - 如何在 jQuery 中向 `change` 事件添加属性

python - 在函数之间建立多个持久 HTTP 连接

mysql - 对数据框应用函数返回不正确的结果

javascript - 是否有类似于关注事件的 Twitter 取消关注 JavaScript 事件或实现它的方法?