Je veux créer une fonction javascript ajoute un écouteur d'événement à un div de telle sorte que lorsque le div est cliqué, il exécute une fonction, et assure que le div ne peut être cliqué qu'une seule fois. Ma fonction ressemble à ce moment:Javascript addEventListener et removeEventListener avec fonction partielle
function clickOnce(divID,func){
var args = Array.prototype.slice.call(arguments,2);
functionToRun=partial(func,args);
thisDiv=document.getElementById(divID);
thisDiv.addEventListener("click",function(e){
e.target.removeEventListener(e.type, arguments.callee);
functionToRun();
});
}
J'ai un exemple de travail en jsFiddle: https://jsfiddle.net/qtzLhgr4/1/ Dans le jsFiddle, lorsque je clique sur le bouton 1, il dit « bouton # 2 cliqué ».
Sauf quand vous pouvez utiliser 'let'; alors toujours utiliser 'let';) (supporté par IE11) – Sampson
Bien sûr: D (édité) –
@Sampson: Préférez' const' =) – Ryan