JavaScript:onresize-won';我找不到我的手表

JavaScript:onresize-won';我找不到我的手表,javascript,jquery,Javascript,Jquery,下面的代码工作正常,但如果我将一个方法与onresize事件一起使用,则不会 function TableUtil() { this.observers = [], this.addObserver = function(tableSelector) { this.observers.push(tableSelector); }, this.notifyObservers = function() { console.log('

下面的代码工作正常,但如果我将一个方法与onresize事件一起使用,则不会

function TableUtil() {
    this.observers = [],
    this.addObserver = function(tableSelector) {
         this.observers.push(tableSelector);
    },
    this.notifyObservers = function() {
         console.log('notify observers invoked');
         for (var i in this.observers) {
               this.resize(this.observers[i]);
         }
    },
    // ...

var tableUtil = new TableUtil();
tableUtil.notifyObservators()由以下行调用:

$(window).resize(tableUtil.notifyObservers);
但是从不调用
调整大小(…)
。如果我手动调用
tableUtil.notifyObservators()
,它就会工作

问题是
observer
数组是空的,但如果我在控制台中进行检查,则不是空的


我已经尝试过使用jQuery和不使用jQuery的变体。该问题在所有浏览器中都存在。

当您将
notifyObservators
引用传递给
resize()
函数时,对象引用丢失,因此在notifyObservators
中,此
指向其他内容。请尝试以下方法:

$(window).resize(function() { tableUtil.notifyObservers(); });

另一种方法是使用
var self=thisTableUtil
构造函数中,使用
self
,其中使用