Я хочу создать функцию javascript, добавляет прослушиватель событий в div так, что при нажатии на div он запускает функцию и гарантирует, что div может быть нажат только один раз. Моя функция выглядит это прямо сейчас:Javascript addEventListener и removeEventListener с частичной функцией
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();
});
}
У меня есть рабочий пример в jsfiddle: https://jsfiddle.net/qtzLhgr4/1/ В JSfiddle, когда я нажимаю кнопку 1 он говорит: «Кнопка # 2 щелкнул».
За исключением случаев, когда вы можете использовать 'let'; то всегда используйте 'let';) (поддерживается в IE11) – Sampson
Уверен: D (отредактировано) –
@Sampson: Предпочитает' const' =) – Ryan