在将带有addEventListener和参数的箭头函数转换为常规ES5函数时遇到一些问题。
试图进行转换(按预期方式工作):
element.addEventListener('jplist.state', (e) => {
//do something
});
对此(无效):
element.addEventListener("jplist.state", function(e){
//do something
});
但是我假设我错过了一些东西(从JPList filter plugin获得的原始箭头功能)。
我之所以要进行此更改,是因为即使使用polyfill,IE11也会为=>引发错误。
答案 0 :(得分:0)
首先,您不能多填新语法。它由使用中的JavaScript引擎评估,并且该引擎无法被JavaScript修改。
第二,将(e) => {}
更改为function (e) {}
没什么区别,因此更改语法不是错误。
答案 1 :(得分:0)
函数语法的变化(从箭头函数变为常规)。这里的问题与我使用addEventListener有关,却忽略了我需要为我的案例中所需的 useCapture 参数提供“,true” 的事实。
所以最后,我使用了:
element.addEventListener("jplist.state", function(e){
//do something
}, true);