2011-11-09 5 views
-1

possible en double:
How do I pass arguments to bound methodsComment utiliser bind() correctement?

Comment puis-je utiliser bind() dans ce cas. J'ai besoin de lier une fonction ... mais le code ci-dessous l'appelle. Comment utiliser bind(). J'ai lu la documentation de MDN mais cela n'a pas de sens. Bind_enter_key et bind_file_upload sont des méthodes que j'ai écrites.

mdn documentation on bind

m5('signin_pass',bind_enter_key(event,interface_signin)); // this does not work 
m5('upload_file',bind_file_upload); 

// just a minimzer 

function m5(a,b) 
    { 
    return document.getElementById(a).onkeypress=b; 
    } 
+0

EXACTEMENT le même code (avec les mêmes commentaires de code même) est affiché dans deux questions distinctes par deux noms d'utilisateur différents. Soit ce sont des devoirs, soit une personne est en double affichage via deux noms d'utilisateur. Le dup [ici] (http://stackoverflow.com/questions/8058862/how-do-i-pass-arguments-to-bound-methods/8058993#8058993) a déjà été répondu. – jfriend00

Répondre

2

Wow, vous avez vraiment fait cette confusion en utilisant bind de deux façons différentes (un dans votre nom de fonction et un dans l'opération que vous souhaitez effectuer sur cette fonction).

m5('signin_pass', bind_enter_key.bind(null, event, interface_signin)); 

Notez que vous semblez être la liaison à la valeur actuelle de window.event en faisant cela, ce qui est probablement une idée horrible. Mieux pourrait être

m5('signin_pass', function (event) { 
    return bind_enter_key(event, interface_signin); 
}); 
Questions connexes