javascript 给DOM绑定事件方法的3种写法
二话不说上代码:
var Event = {};//方法一 runtimeEvent.addEventListener = function(obj, eventType, listener){if(typeof window.addEventListener === 'function') {//DOM2接口el.addEventListener(type, fn, false);} else if(typeof document.attachEvent === 'function') {//IEel.attachEvent('on' + type, fn);} else {//DOM0接口el['on' + type] = fn;}};//方法二 initializeif(typeof window.addEventListener === 'function') {//DOM2接口Event.addEventListener = function(el, type, fn) {el.addEventListener(type, fn, false);};} else if(typeof document.attachEvent === 'function') {//IEEvent.addEventListener = function(el, type, fn) {el.attachEvent('on' + type, fn);};} else {//DOM0接口Event.addEventListener = function(el, type, fn) {el['on' + type] = fn;};}//方法三 lazy modeEvent.addEventListener = function(obj, eventType, listener){if (!Event.addEventListener){if(typeof window.addEventListener === 'function') {//DOM2接口Event.addEventListener = function(el, type, fn) {el.addEventListener(type, fn, false);};} else if(typeof document.attachEvent === 'function') {//IEEvent.addEventListener = function(el, type, fn) {el.attachEvent('on' + type, fn);};} else {//DOM0接口Event.addEventListener = function(el, type, fn) {el['on' + type] = fn;};}}Event.addEventListener(obj, eventType, listener);}