将具有 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);
我在将带有 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);