1

jQuery を使用して JavaScript を記述しているときに定期的に遭遇する問題は、オブジェクトのメソッドにイベント リスナーの追加が含まれる場合、'this' がオブジェクトへの参照から、イベントをトリガーした DOM 要素への参照に変更されることです。

現在、イベント ハンドラー内からオブジェクトを参照する場合は、次のようにします。

var theObject = this;
$('selector').click(function() {
   theObject.methodToApply();
   $(this).css('background','red');
});

イベントが常に「これ」を再割り当てしたいという事実を処理するより良い方法はありますか

4

2 に答える 2

4

あなたがしていることは、jQuery でそれを処理する標準的な方法です。jQuery の次のバージョンでは、このコンテキストをどうしたいかを定義できるようになります。詳細については、 Brandons のブログ投稿を参照してください。

于 2009-08-29T10:01:02.290 に答える
0

これが変更される理由は、javascript スコープがどのように機能するかによるものです。本格的な js を実行する場合は、この基本的な概念を理解することをお勧めします。

ここでのこの概念の説明:

jQuery/JavaScript の「this」ポインタの混乱

于 2009-08-30T17:29:17.643 に答える