addEventListener()和attachEvent()跨浏览器的兼容性处理 — 第13.2.5节
来源:互联网 发布:电脑屏幕录像软件 编辑:程序博客网 时间:2024/06/05 20:09
为了保证处理事件能在大多数浏览器下一致的运行,只需关注冒泡阶段。第一个要创建的方法是addHandler(),它的职责是视情况分别使用DOM0级方法、DOM2级方法或IE方法来添加事件。第二个方法是removeHandler()方法,用于移除添加的事件。EventUtil创建方法和用法如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <div id="btn">你可以改变世界!</div></body><script type="text/javascript"> var EventUtil = { addHandler : function(element,type,handler){ if(element.addEventListener){ element.addEventListener(type,handler,false); }else if(element.attachEvent){ element.attachEvent('on' + type,handler); }else{ element['on' + type] = handler; } }, removeHandler : function(element,type,handler){ if(element.removeEventListener){ element.removeEventListener(type,handler,false); }else if(element.detachEvent){ element.detachEvent('on' + type,handler); }else{ element['on' + type] = null; } } } var btn = document.getElementById('btn'); var handler = function(){ console.log('这是JavaScript高程第354页'); } EventUtil.addHandler(btn,'click',handler);</script></html>
以上封装可以实现任何浏览器的绑定事件,敲一遍你就会了!
1 0
- addEventListener()和attachEvent()跨浏览器的兼容性处理 — 第13.2.5节
- addEventListener 和attachEvent 兼容性封装
- IE8以下的attachEvent()和其他浏览器的addEventListener()区别
- js绑定事件方法:addEventListener与attachEvent的不同浏览器的兼容性写法
- addEventListener和attachEvent的区别
- addEventListener和attachEvent的区别
- js事件处理方法addEventListener和attachEvent
- 关于addEventListener和attachEvent的初步探讨
- 关于addEventListener和attachEvent的初步探讨
- attachEvent和addEventListener方法的使用
- window.attachEvent和window.addEventListener的区别
- addEventListener和attachEvent的区别·
- addEventListener()、attachEvent()和removeEventListener()、detachEvent()的区别?
- Javascript addEventListener和attachEvent的区别
- attachEvent和addEventListener
- attachEvent和addEventListener使用方法
- attachEvent和addEventListener 使用方法
- attachEvent和addEventListener
- 嵌入式Linux开发工具之gcc编译器
- 【C++】【啊哈!算法】第四章 万能的搜索
- 手机助手(五):模块化开发 + nineOldAndroid.jar
- 星期六
- 深度学习-受限玻尔兹曼机(RBM)
- addEventListener()和attachEvent()跨浏览器的兼容性处理 — 第13.2.5节
- BestCoder Round #89
- BestCoder Round #89
- mybatis 与 hibernate 的区别和应用场景(转)
- Swift3.0 二维码扫描
- C rand 和 srand 函数
- JAVA跨越加个过滤解决
- Python--面向对象
- python ucs-2与ucs-4编码方式判断