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   })

 

posted @ 2021-03-07 10:48  东功  阅读(123)  评论(0编辑  收藏  举报