gpt4 book ai didi

javascript - 删除 addEventListener 中传递参数的元素上的监听器

转载 作者:行者123 更新时间:2023-12-02 21:15:49 24 4
gpt4 key购买 nike

如何删除这样的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);
}

关于javascript - 删除 addEventListener 中传递参数的元素上的监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60975528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com