将eventOption作为参数传递给函数

时间:2016-01-27 09:55:09

标签: javascript events

模块从其他模块调用函数,用于在元素上注册和取消注册事件。我将eventType作为参数传递。但是收到错误Uncaught TypeError: elementObject.element.EventOption is not a function

elementObject = { element: document.getElementById("elemId"),... }
eventRegisterer(elementObject, addEventListener)

事件登记功能:

function eventRegisterer(elementObject, EventOption){
    elementObject.element.EventOption('change', changeFunction)
}
function changeFunction() {
  ....
}

为什么存储addEventListener作为参数不起作用?

1 个答案:

答案 0 :(得分:0)

找到解决方案:

function eventRegisterer(elementObject, EventOption){
    elementObject.element[EventOption('change', changeFunction)];
}

使用类似数组的表示法而不是直接使用属性名称确实有效。