代码改变世界

原生js绑定和解除事件

2012-09-19 09:45  江苏黑马  阅读(25184)  评论(0编辑  收藏  举报
// 事件绑定
        this.bindHandler = (function() {
            if (window.addEventListener) {// 标准浏览器
                return function(elem, type, handler) {// elem:节点    type:事件类型   handler:事件处理程序
                    // 最后一个参数为true:在捕获阶段调用事件处理程序    为false:在冒泡阶段调用事件处理程序
                    elem.addEventListener(type, handler, false);
                }
            } else if (window.attachEvent) {// IE浏览器
                return function(elem, type, handler) {
                    elem.attachEvent("on" + type, handler);
                }
            }
        })();

        // 事件解除
        this.removeHandler = (function() {
            if (window.removeEventListerner) {// 标准浏览器
                return function(elem, type, handler) {
                    elem.removeEventListerner(type, handler, false);

                }
            } else if (window.detachEvent) {// IE浏览器
                return function(elem, type, handler) {
                    elem.detachEvent("on" + type, handler);
                }
            }
        })();