gpt4 book ai didi

javascript - 在另一个实例方法事件处理程序中调用 this.instanceMethod

转载 作者:行者123 更新时间:2023-11-30 13:01:55 25 4
gpt4 key购买 nike

我试图在另一个实例方法的事件处理程序中调用实例方法,但我得到函数未定义,我认为这是因为在事件处理程序中“this”指的是 DOM 元素而不是实例:

function MyObject(something) {
this.something = something;
this.value = 'abc';
}

MyObject.prototype.Init = function() {

$(this.something).click(function() {
this.DoSomething();
});
};

MyObject.prototype.DoSomething = function() {
//do something
};

有没有办法让“this”指向实例?

最佳答案

定义另一个变量,其名称不是this,并为其分配您希望在内部函数中引用的上下文:

MyObject.prototype.Init = function() {
var scope = this;
$(this.something).click(function() {
scope.DoSomething();
});
};

关于javascript - 在另一个实例方法事件处理程序中调用 this.instanceMethod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17123933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com