質問: { クリックイベントを登録する: function(){ $('html').click(function(){ /* 下記のthisが指すのは、イベントの発生源のオブジェクト(クリックされたhtml)であることは分かりました。 では、どうやって書けば 「_メソッド()」を呼び出すことが出来るのでしょうか? */ this._メソッド(); /* エラー:this._メソッド is not a function */ }); }, _メソッド: function(){ alert('_メソッドが呼ばれました'); } }; オブジェクトメソッドテスト_obj.クリックイベントを登録する(); ```
回答: こんにちは よく使う手としては、意図している `this` を (慣用的に)`that`という変数に保存しておいて、これをレシーバーに使うという方法ですね。 ``` var オブジェクトメソッドテスト_obj = { クリックイベントを登録する: function(){ var that = this; $('html').click(function(){ that._メソッド(); }); }, _メソッド: function(){ alert('_メソッドが呼ばれました'); } }; オブジェクトメソッドテスト_obj.クリックイベントを登録する(); ``` * **動作確認用 CodePen:**