原文出处:http://blog.csdn.net/sqfbeijing/article/details/49075937

/**
*只执行一次函数
*兼容各种浏览器
**/
var obj = document.querySelector("button");

    handler = function(){
        alert(this.tagName);
        if (obj.removeEventListener){
            obj.removeEventListener("click",handler,false);
        } else {
            // ie8及以下,只支持事件冒泡
            obj.detachEvent("onclick",handler);
        }
    };

    if (obj.addEventListener) {
        obj.addEventListener("click",handler,false);

    } else {
        // ie8及以下,只支持事件冒泡
        obj.attachEvent("onclick",handler);
    }



本文转载:CSDN博客