0

私は、さまざまなオブジェクトが $(window) の共通イベントにバインドされる Web サイトに取り組んでいます。ただし、トリガーを受け取るオブジェクトのコンテキスト内でこれらの関数を実行したいと考えています。(つまり、「this」を保持して、関数を呼び出すときにウィンドウではなくオブジェクトを参照するようにします。) どうすればこれを行うことができますか? たとえば、オブジェクト内では次のようになります。

var someNum = 1;

$(window).bind("test", printNum);

function printNum() {
    alert(this.someNum); // should return 1
}
4

2 に答える 2

5

を確認してください$.proxy。これを使用して、常に特定のコンテキストを持つ関数を作成できます。

$(window).bind("test", $.proxy(printNum, this));

また、jQuery 1.7onよりも優先されます。bind

于 2013-01-24T02:51:52.600 に答える
0

私は JavaScript のオブジェクト コンテキストについて明確にしたことはありませんが、このメソッドを使用して成功しています。笑ったり感心したり:

this.someNum = 1;

$(window).bind("test", printNum);

var parent = this;
function printNum() {
    alert(parent.someNum); // should return 1
}
于 2013-01-24T02:53:47.697 に答える