Javascript 事件处理程序报告在类中使用时未定义的元素
我使用JavaScript事件处理程序编写了这个简单的工作代码Javascript 事件处理程序报告在类中使用时未定义的元素,javascript,dom-events,Javascript,Dom Events,我使用JavaScript事件处理程序编写了这个简单的工作代码 var testElement=document.getElementById('test'); testElement.addEventListener('click',updateValue); 函数updateValue(){ testElement.innerHTML='test'; } 单击我您正在将更新值函数作为参数传递,当调用更新值函数时,此关键字并不引用您认为的MyClass实例。你需要能够通过推荐 您可以使用ES
var testElement=document.getElementById('test');
testElement.addEventListener('click',updateValue);
函数updateValue(){
testElement.innerHTML='test';
}
单击我
您正在将更新值
函数作为参数传递,当调用更新值
函数时,此
关键字并不引用您认为的MyClass
实例。你需要能够通过推荐
您可以使用ES6中的箭头函数处理此问题:
class MyClass {
constructor() {
this.testElement = document.getElementById('test');
this.testElement.addEventListener('click',
e => this.updateValue()
);
}
updateValue() {
this.testElement.innerHTML = 'test';
}
}
var myClass = new MyClass();