document.getElementById("myelement").addEventListener("click", handler);// handler functionfunction handler(e) { // remove this handler e.target.removeEventListener(e.type, arguments.callee); alert("You'll only see this once!");}封装之后的版本
function onetime(node, type, callback) { // create event node.addEventListener(type, function(e) { // remove event e.target.removeEventListener(e.type, arguments.callee); // call handler return callback(e); });}使用
onetime(document.getElementById("myelement"), "click", handler);function handler(e) { alert("You'll only see this once!");}