以下代码工作正常,但如果我将方法与 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.notifyObservers() 通过以下行调用:
$(window).resize(tableUtil.notifyObservers);
但从不打电话resize(...)
。tableUtil.notifyObservers()
如果我手动调用它可以工作。
问题是observers
数组是空的,但如果我在控制台中签入则不是。
我已经尝试过使用和不使用 jQuery 的变体。该问题存在于所有浏览器中。