Web开发中,因为浏览器之间的差异实现差异,一些嗅探工作总是不可避免的,比如我们需要在各个浏览器中能够通用事件绑定函数addEvent

//一般写法
//缺点:当他每次被调用的时候都都会执行里面的if条件,
var addEvent = function(elem, type, handler){
if(window.addEventLister){
return elem.addEventListener(type, handler, false);
}
if(window.attachEvent){
return elem.attachEvent('on'+type, handler);
}
} //改进 var addEvent = (function(){
if(window.addEventListener){
return function(elem, type, handler){
elem.addEventListener(type, handler, false);
}
}
if(window.attachEvent){
return function(elem, type, handler){
elem.atttachEvent('on'+handler);
}
}
})(); //惰性载入方案 var addEvent = function(elem, type, handler){
if(window.addEventListener){
addEvent = function(elem, type, handler){
elem.addEventListener(type, handler, false);
}
} else if(window.atttachEvent){
addEvent = function(elem, type, handler){
elem.atttachEvent('on'+type, handler);
}
} addEvent(elem, type, handler);
};

最新文章

  1. ★Kali信息收集~ 5.The Harvester:邮箱挖掘器
  2. LNMP环境magento常见错误
  3. 创建数据库和表相关的SQL语句
  4. Snabbt.js – 极简的 JavaScript 动画库
  5. RMQ(ST算法)
  6. win7或win2008 R2 被远程登录日志记录 系统日志
  7. ASP.NET MVC controller 之间传JS值
  8. 李洪强漫谈iOS开发[C语言-006]-程序的描述方式
  9. (转)RabbitMQ消息队列(四):分发到多Consumer(Publish/Subscribe)
  10. 弹性布局-flex
  11. OpenCV(6)-腐蚀和膨胀
  12. css3圆角讲解
  13. PHP 获取linux服务器性能CPU、内存、硬盘、进程等使用率
  14. 关于android中postDelayed方法的讲解
  15. 蓝桥网试题 java 入门训练 Fibonacci数列
  16. 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10的100次幂。 输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。 输入样例: 1234567890987654321123456789 输出样例: yi san wu
  17. MySQL学习笔记(六):索引
  18. 【集美大学1411_助教博客】团队作业1——团队展示&选题 成绩
  19. whereis、which、find的区别
  20. 程序员常用字体(vs2008字体修改方案)

热门文章

  1. c#在线手册汇总
  2. python全栈开发从入门到放弃之递归函数的调用
  3. 读取Android设备的MAC地址
  4. inline-block布局错位问题
  5. 转:js获取json中key所对应的value值
  6. java 并发——理解 wait / notify / notifyAll
  7. POJ - 3308 Paratroopers (最小点权覆盖)
  8. HDU - 2204 Eddy's爱好 (数论+容斥)
  9. HDFS datanode心跳与运维中的实际案例
  10. 利用URLConnection来发送POST和GET请求