現在、ユーザー定義クラス内にダイアログを作成しています。
$("<div>").dialog(buttons: {
'one': function () {
$(this).dialog('close').dialog('destroy');
}
});
上記はthis
正常に機能しますが、上記の関数のクラスインスタンスを参照しなくなりました。私はこれを回避することができます$.proxy
:
...buttons: {
'one': $.proxy(function () {
this.doWork();
}, this)
次に、ダイアログボタンがクリックされたときにクラスメソッドを呼び出すことができます。
.dialog('close').dialog('destroy')
ただし、ダイアログ要素自体を呼び出す必要があります。で再定義this
した後$.proxy
、ボタンコールバックでその要素にアクセスするにはどうすればよいですか? e.target
ボタン自体を指します。
私はまた、私がこのようなことをすることができることを理解しています:
var obj = this;
...buttons: {
obj.doWork();
しかし、私はそれを回避する方法を探しています。