从javascript中某个类组件的事件侦听器访问类的实例
我正在寻找一种方法,从其组件之一的事件侦听器中访问对象的实例从javascript中某个类组件的事件侦听器访问类的实例,javascript,events,listener,event-listener,Javascript,Events,Listener,Event Listener,我正在寻找一种方法,从其组件之一的事件侦听器中访问对象的实例 function FormField() { this.variable = "initial"; this.container = new Container(); this.container.addEventListener("mousedown", function(evt) { // this.variable = "modified"; }); } 即,容器上的鼠标
function FormField() {
this.variable = "initial";
this.container = new Container();
this.container.addEventListener("mousedown", function(evt) {
// this.variable = "modified";
});
}
即,容器上的鼠标向下移动将能够识别容器所属类的哪个实例,并在其方法中使用该实例。最简单的方法是创建一个直接引用实例的新变量,如下所示:
this.container = new Container();
var self = this;
this.container.addEventListener("mousedown", function(evt) {
console.log(self);
});
您应该将此上下文存储到本地var self:
function FormField() {
var self = this;
self.variable = "initial";
this.container = new Container();
this.container.addEventListener("mousedown", function(evt) {
// self.variable = "modified";
});
}
您可以将此分配给其他变量,然后在事件处理程序中访问它,即
function FormField() {
var self = this;
self.variable = "initial";
self.container = new Container();
self.container.addEventListener("mousedown", function(evt) {
// use self.variable = "modified";
});
}
可能重复的