如何删除这样的EventListener?我知道在addEventListener的move函数中我传递了一个匿名函数,但是我必须在那儿传递一些参数。我该如何解决?
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);
}