JavaScript事件

关于JavaScript事件讲解得很全面的一篇文章:http://www.cnblogs.com/tugenhua0707/p/4501843.html

如下代码需要注意的一点是,除了getEvent方法外,其他方法在被调用时传给它的事件参数应该是兼容浏览器的事件参数,所以可先调用getEvent获得兼容性参数再传进去,或者先 event=event||window.event再传进去

 1 var EventUtil = {
 2     addHandler: function(element,type,handler) {
 3         if(element.addEventListener) {
 4             element.addEventListener(type,handler,false);
 5         }else if(element.attachEvent) {
 6             element.attachEvent("on"+type,handler);
 7         }else {
 8             element["on" +type] = handler;
 9         }
10     },
11     removeHandler: function(element,type,handler){
12         if(element.removeEventListener) {
13             element.removeEventListener(type,handler,false);
14         }else if(element.detachEvent) {
15             element.detachEvent("on"+type,handler);
16         }else {
17             element["on" +type] = null;
18         }
19     },
20     getEvent: function(event) {
21         return event ? event : window.event;
22     },
23     getTarget: function(event) {
24         return event.target || event.srcElement;
25     },
26     preventDefault: function(event){
27         if(event.preventDefault) {
28             event.preventDefault();
29         }else {
30             event.returnValue = false;
31         }
32     },
33     stopPropagation: function(event) {
34         if(event.stopPropagation) {
35             event.stopPropagation();
36         }else {
37             event.cancelBubble = true;
38         }
39     },
40     getRelatedTarget: function(event){
41         if (event.relatedTarget){
42             return event.relatedTarget;
43         } else if (event.toElement){
44             return event.toElement;
45         } else if (event.fromElement){
46             return event.fromElement;
47         } else {
48             return null;
49         }
50     },
51     getWheelDelta: function(event) {
52         if(event.wheelDelta) {
53             return event.wheelDelta;
54         }else {
55             return -event.detail * 40
56         }
57     },
58     getCharCode: function(event) {
59         if(typeof event.charCode == ‘number‘) {
60             return event.charCode;
61         }else {
62             return event.keyCode;
63         }
64     }
65 };

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。