Je suis en train d'utiliser le plugin javascript mousetrap pour gérer quelques coups clés de la même façon, donc je pensais que les coder comme suit:accès à la variable mutable dans une fermeture d'événement
var keys = [ 'b', 'i', 'u'];
for (var i=0; i < 3; ++i) {
var iKey = keys[i];
var iKeyUpper = iKey.toUpperCase();
Mousetrap.bind(
[ 'command+' + iKey,
'command+' + iKeyUpper,
'ctrl+' + iKey,
'ctrl+' + iKeyUpper],
(function(e) {
console.log("you clicked: " + i);
}));
}
Mais, de toute évidence, i
est mutable. Cependant, je ne suis pas sûr de savoir comment écrire une fermeture où je concurrence le paramètre d'événement dans la réponse. Suggestions sur la façon de gérer cette situation?
vous souhaitez utiliser l'événement dans le gestionnaire d'attributs? Je n'ai pas bien compris "en compétition" dans ce contexte désolé. – Edorka
Montrez-nous ce que vous avez essayé. Quel était le problème avec le paramètre d'événement? La fermeture IEFE doit renvoyer la fonction gestionnaire qui accepte le paramètre 'e'. – Bergi