将具有 addEventListener 和参数的箭头函数转换为常规 ES5 函数

Converting Arrow Function that has addEventListener and Parameter Into a Regular ES5 Function

我在将带有 addEventListener 和参数的箭头函数转换为常规 ES5 函数时遇到了一些问题。

尝试转换它(按预期工作):

element.addEventListener('jplist.state', (e) => {
    //do something
});

进入这个(不工作):

element.addEventListener("jplist.state", function(e){
    //do something
});

但我假设我遗漏了一些东西(从 JPList filter plugin 获得的原始箭头函数)。

我进行此更改的原因是 IE11 为 => 抛出错误,即使使用 polyfill。

首先,您不能填充新语法。由正在使用的JavaScript引擎求值,JavaScript无法修改引擎。

其次,将 (e) => {} 更改为 function (e) {} 没有任何区别,因此这不是更改语法的错误。

函数语法的变化(从箭头函数到常规函数)。这里的问题与我对 addEventListener 的使用有关,而忽略了我需要为 useCapture 提供 ", true" 的事实] 我的情况需要参数。

所以最后,我用了:

element.addEventListener("jplist.state", function(e){
    //do something
}, true);