// 封装一个事件绑定
event.on = function (dom, type, fn) {
if (document.addEventListener) {
dom.addEventListener(type, fn, false);
} else if (document.attachEvent) {
dom.attachEvent('on' + type, fn);
} else {
dom['on' + type] = fn;
}
};
//执行了四次,意味着判断了4次浏览器类型
//浏览器只需要判断一次,就可以确定类型,后续就没有必须每次执行时再次判断浏览器
event.on(body);
event.on(html);
event.on(div);
event.on(p);
/* 优化 */
/* 惰性载入: 是用来减少每次代码执行时的重复性的分之判断,通过对对象进行重新定义俩避免分支判断 */
event.on = function (dom, type, fn) {
if (document.addEventListener) {
event.on = function (dom, type, fn) {
/* 重写 */
dom.addEventListener(type, fn, false);
};
} else if (document.attachEvent) {
event.on = function (dom, tyoe, fn) {
/* 重写 */
dom.attachEvent('on' + type, fn);
};
} else {
event.on = function (dom, type, fn) {
/* 重写 */
dom['on' + type] = fn;
};
}
//注意:第一次调用时,没有添加事件,而是对方法进行重写,所以必须先执行一次
event.on(window, 'load', function () {});
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/64822.html