Je veux créer un eventHandler qui transmet l'événement et certains paramètres. Le problème est que la fonction n'obtient pas l'élément. Voici un exemple:
doClick = function(func){
var elem = .. // the element where it is all about
elem.onclick = function(e){
func(e, elem);
}
}
doClick(function(e, element){
// do stuff with element and the event
});
L'élément doit être défini en dehors de la fonction anonyme. Comment puis-je utiliser l'élément passé dans la fonction anonyme? Y a-t-il un moyen de faire cela?
Et qu'en est-il de addEventListener? Je ne semble pas du tout capable de transmettre l'événement via un addEventListener, n'est-ce pas?
Mise à jour
J'ai semblé résoudre le problème avec 'ceci'
doClick = function(func){
var that = this;
this.element.onclick = function(e){
func(e, that);
}
}
Où cela contient cet élément auquel je peux accéder dans la fonction.
Le addEventListener
Mais je m'interroge sur addEventListener:
function doClick(elem, func){
element.addEventListener('click', func(event, elem), false);
}