兼容8事件绑定与解绑addEventListener、removeEventListener和ie的attachEvent、detachEvent
2016-11-03 15:59
585 查看
;(function(){ // 事件绑定 bindHandler = (function() { if (window.addEventListener) {// 标准浏览器 return function(elem, type, handler) { // elem:DOM节点 type:事件类型 handler:事件处理函数 // 最后一个参数为true:在捕获阶段调用事件处理程序;为false:在冒泡阶段调用事件处理程序。注意:ie没有这个参数 elem.addEventListener(type, handler, false); } } else if (window.attachEvent) {// IE浏览器 return function(elem, type, handler) { elem.attachEvent("on" + type, handler); } } }()); // 事件解绑 removeHandler = (function() { if (window.removeEventListener) {// 标准浏览器 return function(elem, type, handler) { elem.removeEventListener(type, handler, false); } } else if (window.detachEvent) {// IE浏览器 return function(elem, type, handler) { elem.detachEvent("on" + type, handler); } } }()); }());
以上便是已封装好了的兼容ie8的事件绑定与解绑函数。方法比较简单,不需要特殊说明。
第一行和最后一行,有些童鞋可能不太理解。用一个匿名函数包裹是为了避免污染命名空间。开头一个分号是为了区分代码段。这样可以使代码清晰、简明、便于维护。
相关文章推荐
- javascript事件绑定,取消,addEventListener,removeEventListener,attachEvent,detachEvent
- 监听事件绑定(addEventListener、attachEvent)和移除(removeEventListener、detachEvent)
- js中事件的绑定与解绑:attachEvent/detachEvent、addEventListener/removeEventListener
- js 添加_删除事件 addEventListener/removeEventListener和attachEvent/detachEvent
- js中addEventListener、attachEvent、removeEventListener、detachEvent在IE以及FF不同的用法
- 与事件处理相关的function:addEventListener、removeEventListener与attachEvent、detachEvent
- attachEvent、addEventListener、detachEvent、removeEventListener
- attachEvent、addEventListener、detachEvent、removeEventListener
- attachEvent、addEventListener、detachEvent、removeEventListener
- addEventListener()、attachEvent()和removeEventListener()、detachEvent()的区别?
- JS事件---DOM2级事件处理:addEventListener()、removeEventListener()、attachEvent()
- js监听事件方法addEventListener()兼容非IE和attachEvent()兼容IE
- 事件绑定demo——attachEvent/addEventListener
- addEventListener & removeEventListener || attachEvent & detachEvent
- JS添加/绑定事件监听函数并传参数attachEvent和addEventListener兼容个浏览器
- IE attachEvent事件处理程序(事件绑定的函数)的this指向的是window不是执行当前事件的dom元素
- removeEventListener 移除已知对象的特定绑定事件的所有function
- addEventListener()、attachEvent()和removeEventListener()、detachEvent()的差别?
- attachEvent、addEventListener、detachEvent、removeEventListener
- Javascript关于绑定事件方法attachEvent和addEventListener区别与兼容写法