gpt4 book ai didi

javascript - 从回调中检索原始上下文

转载 作者:行者123 更新时间:2023-12-02 16:19:42 26 4
gpt4 key购买 nike

我有一个 JavaScript 类,它有两个方法,例如 this .

var MyObject = function () {};

MyObject.prototype = {
open: function () {
var self = this;
console.log(self);

$('#a').click('', self.other);
},
other: function () {
console.log(this);
}
};

var myobject = new MyObject;

myobject.open();

other函数的console.log中,this是事件监听的HTML节点,而不是 MyObject 对象与 open 函数中一样。

当用作回调时,如何从函数 other 检索 MyObject 对象?

最佳答案

您可以使用$.proxythis 上下文作为第二个参数传递:

var MyObject = function () {};

MyObject.prototype = {
open: function () {
$('#a').click($.proxy(this.other, this));
},
other: function () {
console.log(this);
}
};

var myobject = new MyObject;

myobject.open();

当点击#a时,MyObject.other()函数将被调用,并使用引用MyObject<的this实例.

JSFIddle with code in action

关于javascript - 从回调中检索原始上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29240311/

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