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