JavaScript事件委托兼容IE低版本兼容写法
首先进行兼容对象处理和绑定事件处理
1 var EventUtil = { 2 // event对象兼容处理 3 getEvent: function(event){ 4 return event || window.event; 5 }, 6 // 目标对象兼容处理 7 getTarget: function(event){ 8 return event.target || event.srcElement 9 }, 10 // 绑定事件兼容处理 11 addHandler: function(element, type, handler){ 12 if(element.addEventListener){ 13 element.addEventListener(type, handler, false) 14 }else if(element.attachEvent){// 兼容IE低版本 15 element.attachEvent('on' + type, handler) 16 }else{ 17 element['on' + type] = handler 18 } 19 } 20 };
然后进行获取DOM,IE识别获取ID和tag名称的,用获取类名会出现不兼容
1 var oList = document.getElementById('list');//list是ul的id
然后获取事件对象和目标对象(我以鼠标移入为例子,鼠标移到li标签上就会出现效果)
1 EventUtil.addHandler(oList, 'mouseover', function(event){ 2 // 获取事件对象 3 event = EventUtil.getEvent(event); 4 // 获取目标对象 5 var target = EventUtil.getTarget(event); 6 console.log(target); 7 target.style.color = 'olive'; 8 target.innerHTML += 'aaaaaaa' 9 })