关闭

webgis系统开发

104人阅读 评论(0) 收藏 举报

事件的绑定和解除,需要自己用js程序进行处理.这就是我今天带给大家的事件处理对象:

该对象已在IE6/7/8 火狐 opera 浏览器中测试通过

view sourceprint?01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<A href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target=_blank>http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</A>"> 

02 <html  xmlns="<A href="http://www.w3.org/1999/xhtml" target=_blank>http://www.w3.org/1999/xhtml</A>"> 

03 <head> 

04 <meta  http-equiv="Content-Type" content="text/html; charset=utf-8"  /> 

05 <title>960web</title> 

06 </head> 

07   

08 <body> 

09 <div id="a"></div> 

10 <input type="button"  id="b" value="测试"/> 

11 <input type="button" id="c"  value="解除绑定"/> 

12 </body> 

13   

14 <script> 

15 // 元素绑定函数 

16 function $(id) 

17 { 

18 return  document.getElementById(id); 

19 } 

20 //事件处理对象 

21 function  EventUtil(){ 

22 /** 

23 * 绑定事件方法 

24 * obj 绑定的页面对象 

25 * EventType 绑定的事件  (click,mouseover等) 

26 * Handler 处理该事件的函数 

27 */

28 this.addEventHandler =  function(obj,EventType,Handler) 

29 { 

30 //非IE浏览器处理方法 

31 if(obj.addEventListener) 

32 { 

33 obj.addEventListener(EventType,Handler,false); 

34 } 

35 //IE浏览器处理方法 

36 else  if(obj.attachEvent) 

37 { 

38 obj.attachEvent('on'+EventType,Handler); 

39 } 

40 else

41 { 

42 obj['on'+EventType] = Handler; 

43 } 

44 } 

45 /** 

46 * 解除绑定事件方法 

47 * obj  解除绑定的页面对象 

48 * EventType 解除绑定的事件 (click,mouseover等) 

49 * Handler  要解除的该事件的处理函数, 

50 */

51 this.removeEventHandler =  function(obj,EventType,Handler) 

52 { 

53 //非IE浏览器处理方法 

54 if(obj.removeEventListener) 

55 { 

56 obj.removeEventListener(EventType,Handler,false); 

57 } 

58 //IE浏览器处理方法 

59 else  if(obj.detachEvent) 

60 { 

61 obj.detachEvent('on'+EventType,Handler); 

62 } 

63 else

64 { 

65 obj['on'+EventType] = Handler; 

66 } 

67 } 

68 }; 

69   

70 // 以下是示例代码 

71 var e = new EventUtil(); 

72 //  注意如果所要绑定的事件处理过程注定要被解除的话,就必须指定函数名,在解除绑定时,要指定函数名. 

73 e.addEventHandler($("b"),"click",add1); 

74   

75 e.addEventHandler($("c"),"click",function(event){ 

76 e.removeEventHandler($("b"),"click",add1); 

77 }); 

78   

79 function  add1(e){ 

80 ev=e; 

81 alert("123") 

82 $("a").innerHTML="ok"

83 } 

84 </script> 

85 </html>

OK!

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:922次
    • 积分:32
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档