按钮onclick事件只使用DOM addEventListener()发生一次

时间:2014-01-06 16:19:47

标签: javascript button onclick

我正在创建动态的按钮组

for (var i = 0; i < clr.length; ++i) {
    button = document.createElement("button");
    button.innerHTML = clr[i];
    button.addEventListener('click', event);
    button.style.backgroundColor = clr[i];
    document.body.appendChild(button);
}

但我希望每个按钮“只发生一次”事件。但是我无法使用javascript正确实现这一点。

1 个答案:

答案 0 :(得分:1)

您可以在执行后使用removeEventListener删除附加的事件。通过这样做,click事件只处理一次,如下所述,

function event(e) {  //e represented the current element which is clicked
    e.target.removeEventListener(e.type, arguments.callee);
    alert('hi');
}

JSFiddle