因此,我在 SO 中进行了广泛搜索,但无法找到答案(可能是因为我理解错误)。
我有一个这样定义的 JS 函数(非常简化):
window.Gadget = function(name, cost){
this.name = name;
this.cost = cost;
this.hasBeenRevamped = false;
this.checkForUpdates = function(){
console.log("checking for updates...");
}
window.$(window).scroll(function() {
console.log("scrolling...");
this.checkForUpdates(); /* The this here is erroneously referring to jQuery and not my Gadget Object. I need to fix this but am not sure how*/
});
}
我正在尝试找到一种方法来为所有小工具实例调用 checkForUpdates(),因此如果我有 10 个小工具对象,它们都会在我调用该函数时检查更新。
每当窗口根据 jQuery 函数 $(window).scroll 滚动时,我最终想为所有小工具调用此函数。
实现这一目标的最佳方法是什么?目前,当窗口滚动时,我看到控制台日志进行滚动,但随后显示没有方法 checkForUpdates 的消息。我相信 (this) 指的是 jQuery 实例,而不是我的 Gadget 实例。如何让 jQuery 调用我的小工具实例 checkForUpdates?
提前致谢!