Javascript 删除addEventListener中有pasing参数的元素上的侦听器
我怎样才能像这样删除VentListener?我知道在addEventListener中的move函数中,我传递了一个匿名函数,但我必须在那里传递一些参数。我如何解决这个问题Javascript 删除addEventListener中有pasing参数的元素上的侦听器,javascript,Javascript,我怎样才能像这样删除VentListener?我知道在addEventListener中的move函数中,我传递了一个匿名函数,但我必须在那里传递一些参数。我如何解决这个问题 move = (id) => { roadFields.forEach((el) => { el.addEventListener('click', (e) => this.handleRoadField(id, matrixBoard, e)); }); }; hand
move = (id) => {
roadFields.forEach((el) => {
el.addEventListener('click', (e) => this.handleRoadField(id, matrixBoard, e));
});
};
handleRoadField = (id, matrixBoard, event) => {
if (true) {
roadFields.forEach(el=>{
el.removeEventListener('click', this.handleRoadField);
})
} else {
console.log('X');
}
};
尝试定义一个
onClick
函数,并在两种方法中使用它:
move = (id) => {
roadFields.forEach((el) => {
el.addEventListener('click', onClick);
});
};
handleRoadField = (id, matrixBoard, event) => {
if (true) {
roadFields.forEach(el=>{
el.removeEventListener('click', onClick);
})
} else {
console.log('X');
}
};
function onClick(e) {
this.handleRoadField(id, matrixBoard, e);
}
我很高兴能帮上忙