"this"変数を設定する良い方法を理解できないことを除いて、私はJavascriptをかなりよく理解しています。考慮してください:
var myFunction = function(){
alert(this.foo_variable);
}
var someObj = document.body; //using body as example object
someObj.foo_variable = "hi"; //set foo_variable so it alerts
var old_fn = someObj.fn; //store old value
someObj.fn = myFunction; //bind to someObj so "this" keyword works
someObj.fn();
someObj.fn = old_fn; //restore old value
最後の4行なしでこれを行う方法はありますか?それはかなり迷惑です...私は匿名関数をバインドしようとしましたが、これは美しくて賢いと思いましたが、役に立ちませんでした:
var myFunction = function(){
alert(this.foo_variable);
}
var someObj = document.body; //using body as example object
someObj.foo_variable = "hi"; //set foo_variable so it alerts
someObj.(function(){ fn(); })(); //fail.
明らかに、変数をmyFunctionに渡すことはオプションです...しかし、それはこの質問のポイントではありません。
ありがとう。
$.proxy(function, element)
している場合は、その関数が呼び出されるたびに要素のコンテキストになるように使用できます。api.jquery.com/jquery.proxy