【发布时间】:2015-08-07 10:09:40
【问题描述】:
在这个 es6 脚本中,click 事件不起作用,因为 sayHello 方法是用 this.elm (<div>) 作为 this 调用的。
如何在不丢失范围的情况下将事件关联到方法?
class player{
constructor (name) {
this.name = name;
this.elm = document.createElement('div');
this.elm.addEventListener('click', this.sayHello);
}
sayHello() {
console.log(this.name + ' say: "hello!"'); // 'undefined say 'hello!"';
}
kill() {
console.log(`RIP ${this.name} :'(`);
this.elm.addClass('dead');
this.elm.removeEventListener('click', this.sayHello);
}
}
【问题讨论】:
标签: javascript dom ecmascript-6 dom-events