码迷,mamicode.com
首页 > 其他好文 > 详细

事件对象库

时间:2016-12-04 19:47:56      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:对象   clientx   code   scrolltop   位置   add   list   att   targe   

 1 //事件对象库;
 2 var EventUtil={
 3     addEvent:function(obj,type,fn){
 4         if(obj.addEventListener){
 5             obj.addEventListener(type,fn,false);
 6         }else if(obj.attachEvent){
 7             obj.attachEvent(‘on‘+type,fn);
 8         }
 9     },
10     removeEvent:function(obj,type,fn){
11         if(obj.removeEventListener){
12             obj.removeEvent(type,fn,false);
13         }else if(obj.detachEvent){
14             obj.detachEvent(‘on‘+type,fn);
15         }
16     },
17     getEvent:function(e){            //获取事件对象
18         return e.target|| event.srcElement;
19     },
20     preventDefault:function(e){     //阻止默认行为;
21         if(e.preventDefault){
22             e.preventDefault();
23         }else{
24             e.returnValue=false;
25         }
26     },
27     stopPropagation:function(e){     //阻止冒泡;
28         if(e.stopPropagation){
29             e.stopPropagation();
30         }else{
31             e.cancelBubble=true;
32         }
33     },
34     clientXY:function(e){ //获取可视范围内的鼠标位置;
35         var T=document.documentElement.scrollTop||document.body.scrollTop;
36         var L=document.documentElement.scrollLeft||document.body.scrollLeft;
37         return {x:L+clientX , y:T+e.clientY};
38     },
39     getRelatedTarget:function(e){
40         if(e.relatedTarget){
41             return e.relatedTarget;
42         }else if(event.toElement){
43             return e.toElement;
44         }else if(e.toElement){
45             return e.fromElement;
46         }else{
47             return null;
48         }
49     },
50     getButton:function(e){
51         if(document.implementation.hasFeature("MouseEvents","2.0")){
52             return e.button;
53         }else{
54             switch(e.button){
55                 case 0:
56                 case 1:
57                 case 3:
58                 case 5:
59                 case 7:
60                     return 0;
61                 case 2:
62                 case 6:
63                     return 2;
64                 case 4:
65                     return 1;
66             }
67         }
68     },
69     getCharCode:function(e){
70         if(typeof event.charCode==‘number‘){
71             return e.charCode;
72         }else{
73             return e.keyCode;
74         }
75     },
76     getWheelDelta:function(e){
77         if(e.wheelDelta){
78             return (client.engine.opera && client.engine.opera<9.5? -event.wheelDelta :event.wheelDelta);
79         }else{
80             return -event.detail *40;
81         }
82     }
83 };

 

事件对象库

标签:对象   clientx   code   scrolltop   位置   add   list   att   targe   

原文地址:http://www.cnblogs.com/gjKai/p/6131176.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!