;(function(){
/**
* 初始化分支是一种优化模式,当知道某个条件在整个生命周期内都不会发生变化时,仅对该条件测试一次。
*/ // 一般写法
var util = {
addEvent: function(el, type, fn) {
if(window.addEventListener{
el.addEventListener(type, fn, false)
}else if(document.attachEvent) {
el.attachEvent('on' + type, fn);
}else{
el['on' + type] = fn;
}
},
removeEvent: function() {
// 类似addEvent
}
} // 优化写法。先定义接口,再实现借口,达到了只需验证一次的目的
var util = {
addEvent: null,
removeEvent: null
};
if(window.addEventListener) {
util.addEvent = function(el, type, fn) {
el.addEventListener(type, fn, false)
};
util.removeEvent = function(el, type, fn) {
el.removeEventListener(type, fn, false)
}
} else if(document.attachEvent) {
util.addEvent = function(el, type, fn) {
el.attachEvent('on' + type, fn)
};
util.removeEvent = function(el, type, fn) {
el.detachEvent('on' + type, fn)
}
} else {
util.addEvent = function(el, type, fn) {
el['on' + type] = fn;
};
util.removeEvent = function(el, type, fn) {
el['on' + type] = null;
}
}
}());

最新文章

  1. 服务器开启https协议
  2. db2look导出ddl 详细用法(转)
  3. KVM 介绍(4):I/O 设备直接分配和 SR-IOV [KVM PCI/PCIe Pass-Through SR-IOV]
  4. css3属性选择器
  5. HTML5+学习笔记2-------边看代码边研究貌似还是有点问题...还在研究中api中
  6. [solr] - Facet
  7. Backpack | & ||
  8. IDE整理
  9. javaWeb中servlet开发——监听器
  10. 在eclipse中的tomcat内存设置
  11. HTML5_智能表单
  12. mysql学习(九)sql语句
  13. HTTP 错误500.19 -Internal Server Error
  14. Fragment与Activity交互(使用Handler)
  15. Composer PHP依赖管理的新时代
  16. Ubuntu14.04 安装vmware虚拟机
  17. docker命令汇总
  18. idea 编译报错 未结束的字符串字面值,非法的类型开始
  19. 『计算机视觉』Mask-RCNN_训练网络其三:训练Model
  20. Android Studio 使用过程遇到的坑

热门文章

  1. android 永不关闭toast
  2. VS2015发布Webservice
  3. 终端环境之tmux
  4. spring boot 1.4.1 with jsp file sample
  5. Windows7下Blend for Visual Studio 2012使用问题
  6. Objective-C之Category的使用
  7. Eclipse Svn 取消某些文件或文件夹的版本控制
  8. OOD沉思录 --- 类和对象的关系 --- 包含关系2
  9. Effective Java 67 Avoid excessive synchronization
  10. 深入剖析 Spring 框架的 BeanFactory