クリックすると、自分のJQuery-UIウィジェットがdivを追加する必要があります。しかし、私のボタンコールバックはthis.element
へのアクセス権がありません - 私はthis
が私のウィジェットではなくボタンを参照すると仮定しているため、未定義です。より良い説明のために、以下の簡単なコードを参照してください。クリックコールバック関数内からJQuery UIウィジェットにアクセス
(function ($) {
$.widget("my.myWidget", {
_create: function() {
this.element.click(this.addRow);
},
addRow: function(evt) {
// this.element is undefined?
console.log("Is this.element defined: " + this.element != undefined);
// cant append to this.element
$('<div></div>')
.appendTo(this.element);
}
});
})(jQuery);
私は私のクリックコールバック関数内でウィジェット(this.element
)にアクセスするにはどうすればよいですか?
あなたは場所を正確に手の込んだことができますか?それは '_create:...'の上になければなりません。なぜなら、それはコンパイラエラーを引き起こすからです(マップ/オブジェクトの中にあるので)。正確にはどこで? –