求大神帮忙看一下,我监听的消息怎么取消不了监听,监听时使用了循环,所以是用的匿名函数做为回调
// 监听4张答题卡牌按钮事件
// 注意在答题完毕后要关闭监听按钮事件
let _this = this;
for (let i = 0; i < 4; i++) {
const cardNode = this.paiZhuoNode.children[i];
if (cardNode) {
cardNode.on(Button.EventType.CLICK, () => {
_this.onAnswerCardClicked(i);
}, this);
}
}
let len = this.paiZhuoNode.children.length;
for (let i = 0; i < len; i++) {
this.paiZhuoNode.children[i].active = true;
// 取消监听
this.paiZhuoNode.children[i].off(Button.EventType.CLICK);
}
不能取消监听,导致我的每次按钮点击以后都会执行多次