核心提示:Element.prototype.addEvent = function(type,fn){if(window.addEventListener){this.addEventListener(typ...
Element.prototype.addEvent = function(type,fn){ if(window.addEventListener){ this.addEventListener(type, fn); }else if(window.attachEvent){ this.attachEvent('on' + type, fn); }else{ this['on' + type] = fn; } }
通过向Element添加一个原型链方法来兼容IE9以下的事件添加。
首先检测浏览器是否支持addEventListener这个方法,如果支持则使用这个方法。
使用的时候 可通过获取到的Element直接使用
如:
var btn = document.getElementById('btn'); btn.addEvent('click', function(){ //需要执行的方法 })
需要注意的是如果执行的是addEventListener或者onclick之类的 this指向都为点击的元素
而attachEvent则会指向window
如果有说的不对的地方,欢迎指正。