在删除事件侦听器的同时保持对'this'的访问,可以通过以下几种方式实现:
const obj = {
data: 'Hello',
eventHandler: () => {
console.log(this.data);
}
};
// 添加事件侦听器
element.addEventListener('click', obj.eventHandler);
// 删除事件侦听器
element.removeEventListener('click', obj.eventHandler);
const obj = {
data: 'Hello',
eventHandler: function() {
console.log(this.data);
}
};
// 添加事件侦听器
element.addEventListener('click', obj.eventHandler.bind(obj));
// 删除事件侦听器
element.removeEventListener('click', obj.eventHandler.bind(obj));
const obj = {
data: 'Hello',
eventHandler: function() {
const self = this;
return function() {
console.log(self.data);
};
}
};
// 添加事件侦听器
element.addEventListener('click', obj.eventHandler());
// 删除事件侦听器
element.removeEventListener('click', obj.eventHandler());
以上是在删除事件侦听器的同时保持对'this'的访问的几种常见方法。根据具体情况选择最适合的方式来实现需求。
企业创新在线学堂
云+社区沙龙online [腾讯云中间件]
云+社区沙龙online[数据工匠]
TVP技术夜未眠
TVP技术夜未眠
云+社区技术沙龙[第9期]
小程序·云开发官方直播课(数据库方向)
《民航智见》线上会议
领取专属 10元无门槛券
手把手带您无忧上云