以下に含まれる関数のセットがあります。
var main = {
func1: function() {
...
},
func2: function() {
...
}
}
コードの後に、次の行があります。
$('a.specialLink').click(main.func2);
関数 内では、func2
経由this
でオブジェクトへの参照がありますが、onclick イベントから呼び出されると、this
コンテキストは、関数が含まれるオブジェクトではなく、それを呼び出した要素に変更されます。this
コンテキストをメイン オブジェクトに戻す方法はありますか? に置き換えることができることはわかってmain.
いますが、インスタンス化されたオブジェクトに対して同様のことを行う必要がある場合、それは機能しません。
これまでに考えられる唯一のことは、セットアップ行を次のように置き換えることです。
$('a.specialLink').click(function() { main.func2(main) });
whereには(未定義の場合に設定)func2
として使用される引数がありますが、それは私にとっては面倒です。this
this