次のコードは正常に動作しますが、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);
BUTを呼び出すことはありませんresize(...)
。tableUtil.notifyObservers()
手動で呼び出すと動作します。
問題は、observers
配列が空であることですが、コンソールでチェックインするとそうではありません。
jQueryの有無にかかわらず、すでにバリアントを試しました。問題はすべてのブラウザに存在します。