J'ai une assez bonne compréhension de Javascript, sauf que je ne peux pas trouver une bonne façon de définir la variable "this". Considérer:
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
Y a-t-il un moyen de faire cela sans les 4 dernières lignes? C'est plutôt ennuyeux ... j'ai essayé de lier une fonction anonyme, que je trouvais belle et intelligente, mais en vain:
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.
Évidemment, passer la variable dans myFunction est une option ... mais ce n'est pas le but de cette question.
Merci.
$.proxy(function, element)
pour que chaque fois que cette fonction est appelée, ce soit dans le contexte de element. api.jquery.com/jquery.proxy