2

jQuery UIウィジェットのファクトリパターンを使用して作成されたウィジェット自体へのグローバル参照はありますか?

ウィジェット変数をウィジェットと等しく設定するなどのことを試してみました。

$.widget("my.widget", {
  _widget: this,
  _create: function () {
    // _widget should == the whole widget
  }
});

また、次のようにjQueryを介してウィジェットのコンテキストを取得しようとしました。

$.widget("my.widget")

ウィジェット内にいるときに、どのようにウィジェットにコールバックできるのかわかりません。

4

2 に答える 2

2

ウィジェット メソッド内では、'this' キーワードを介してインスタンスを参照します。

$.widget('my.widget', {
    foo: true,
    _create: function () {
        var foo = this.getFoo();
    },
    getFoo: function () {
        return this.foo;
    }

});

メソッドを使用していて、コンテキストが変更されていることがわかった場合 (jQuery を作成するときによくあることです)、「this」への参照をローカル変数に格納するだけです。

$.widget('my.widget', {
    foo: true,
    _create: function () {
        var self = this;
        this.element.click(function () {
            var foo = self.getFoo();
        });
    },
    getFoo: function () {
        return this.foo;
    }

});
于 2012-05-02T00:22:42.687 に答える