我想創建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