1

次のコードは正常に動作しますが、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の有無にかかわらず、すでにバリアントを試しました。問題はすべてのブラウザに存在します。

4

1 に答える 1