1.4で追加されたjQuery.proxy()、この使い方について解説がされていましたので、ご紹介。APIつまり、別オブジェクト内で使われている「this」が、そのオブジェクト内で使われているかのような値が返ってくるんだじぇ!かみ砕いてみたけど・・・えっと・・・どういうこと?つまりだ、サンプルを見てみろよということで、まずはこのjQuery.proxy()メソッドを使わない場合、普通はどうなるか。上のサンプルデモ1のボタンをクリックしてみましたか?obj01内のdoSomethingでは、「this.somevar」の値をアラートする関数が入っていました。ところがデモ1の結果は「undefind」。なじぇ?何故かと言うと、「this.somevar」の「this」が、obj01オブジェクトを示しているのかと思いきや、同じオブジェクト内から呼び出されたわけではないので、この場合のthisには押したボタン自体の「button#test01」となっている。通常は上記のような結果になるのですが、jQuery.proxy()メソッドを使うと、thisがobj01オブジェクトを示すようになります。上のサンプルデモ2のボタンをクリックすると、先ほどとは違い「何かの値」というアラートができます。jQuery.proxy()メソッドによって、thisの指し示す先が、obj01内のsomevarになったためです。オブジェクト内になくてもこのjQuery.proxy()メソッドを使えば、その呼び出しに応じて変化できるという優れものなのです。サンプルデモ3紹介先の動画で紹介されていたのですが、このjQuery.proxy()メソッドのcontext部分がいわゆるthisに該当する部分になるっぽいです。試しに下記のようなコート。'Twitter使ってます。解説jQuery.proxy()メソッドのfunction部分で利用しているのが、obj01内のdoSomethingで、アラートで表示されるのが、obj02のsomevar。function内のthisがjQuery.proxy()メソッドのcontextによってターゲットが変化したため、アラートの値が変わってます。利用どころ正直、まだどのような箇所でうまく使えるのかイメージできていないのですが、同一オブジェクト内になくてもthisの示し先を操作できるので、便利になるようです。活用どころを見つけてご利用下さい。2010年03月08日あ、上の例は引数抜けてました。})(this);$(hoge).click(func);でした。それも.proxy()でもできますね。今後は.proxy()でやってみるとします。[必須入力]※画像の中の文字を半角で入力してください。reserved.×この広告は180日以上新しい記事の投稿がないブログに表示されております。