首页 > 代码库 > 事件兼容性封装

事件兼容性封装

function event(){if(window.addEventListener) {                        this.addEventListener("click", handler);                    } else if(window.attachEvent) {                        this.attachEvent("onclick", handler);                    } else {                        // this.onclick = handler;                        // 思路:                        // 1 先判断有没有绑定过事件                        // 2 如果没有绑定直接赋值                        // 3 如果绑定过了                        //         3.1 先将绑定的事件保存起来                        //         3.2 调用事件:先调用已经绑定的事件,再调用当前绑定的事件                        var oldFn = this.onclick;                        // 事件没有绑定过,那么就是null,否则就是 function                        if(typeof oldFn !== "function") {                            this.onclick = handler;                        } else {                            // 已经绑定过事件了                            this.onclick = function() {                                oldFn();                                handler();                            };                        }                    }

 

事件兼容性封装