码迷,mamicode.com
首页 > 其他好文 > 详细

事件兼容性封装

时间:2016-09-23 23:02:34      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

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();
                            };
                        }
                    
}

 

事件兼容性封装

标签:

原文地址:http://www.cnblogs.com/lsy0403/p/5901792.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!