亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

JavaScript實現添加及刪除事件的方法小結

2024-05-06 16:24:21
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了JavaScript實現添加及刪除事件的方法,實例總結了javascript對事件的添加及刪除的技巧,涉及javascript事件綁定的方法及瀏覽器兼容的相關注意事項,需要的朋友可以參考下

本文實例總結了JavaScript實現添加及刪除事件的方法。分享給大家供大家參考。具體如下:

JavaScript添加、刪除事件的方法,也就是讓某些方法生效指定次數,可以是一次、兩次或更多次,但指定次數執行完畢后就刪除該方法,使其失效,如果你經常從事JS編程,你就會知道這種功能用得比較多。

先來看看一個比較簡單的例子:

 

 
  1. function $(id) 
  2. return document.getElementByIdx_x(id); 
  3. var ev = null
  4. var count1 = 0; 
  5. var count2 = 0; 
  6. var oncount1 = 0; 
  7. var oncount2 = 0; 
  8. var isSetEv1 = false
  9. var isSetEv2 = false
  10. //創建事件的通用函數 
  11. var EventUtil = function(){}; 
  12. var flag = new Flag(); 
  13. //監控變量值 
  14. function Flag() 
  15. var tempflag = false
  16. var method = null
  17. this.SetMethod = function(value) 
  18. method = value; 
  19. }  
  20. this.SetValue = function(value) 
  21. tempflag = value; 
  22. if(tempflag == true && method){eval_r(method)}  
  23. this.GetValue = function() 
  24. return tempflag; 
  25. EventUtil.addEventHandler = function(obj,EventType,Handler) 
  26. //如果是FF 
  27. if(obj.addEventListener) 
  28. obj.addEventListener(EventType,Handler,false); 
  29. }  
  30. //如果是IE 
  31. else if(obj.attachEvent) 
  32. obj.attachEvent('on'+EventType,Handler); 
  33. }  
  34. else 
  35. obj['on'+EventType] = Handler; 
  36. //取消事件傳入的參數值要跟綁定時完全一樣才可以 
  37. EventUtil.removeEventHandler = function(obj,EventType,Handler) 
  38. //如果是FF 
  39. if(obj.removeEventListener) 
  40. obj.removeEventListener(EventType,Handler,false); 
  41. }  
  42. //如果是IE 
  43. else if(obj.detachEvent) 
  44. obj.detachEvent('on'+EventType,Handler); 
  45. }  
  46. else 
  47. obj['on'+EventType] = Handler; 
  48. function setEvent1(e) 
  49. ev = e;//針對火狐獲取event相關屬性  
  50. flag.SetMethod('addList1()'); 
  51. flag.SetValue (true); 
  52. function setEvent2(e) 
  53. ev = e;//針對火狐獲取event相關屬性 
  54. flag.SetMethod('addList2()'); 
  55. flag.SetValue (true); 
  56. function isSetEvent1(state) 
  57. isSetEv1 = state;//ie下方法名不能和全局變量名相同 
  58. function isSetEvent2(state) 
  59. isSetEv2 = state; 
  60. function add1(obj) 
  61. oncount1 = oncount1 + 1; 
  62. if(isSetEv1) 
  63. obj.innerHTML = "設置了事件,添加了 <b>" + oncount1 + "</b> 篇文章,左邊列表1自動增加!"
  64. else 
  65. obj.innerHTML = "沒有設置事件,添加了 <b>" + oncount1 + "</b> 篇文章,左邊列表1沒有變化!"
  66. function add2(obj) 
  67. oncount2 = oncount2 + 1; 
  68. if(isSetEv2) 
  69. obj.innerHTML = "設置了事件,添加了 <b>" + oncount2 + "</b> 篇文章,左邊列表2自動增加!"
  70. else 
  71. obj.innerHTML = "沒有設置事件,添加了 <b>" + oncount2 + "</b> 篇文章,左邊列表2沒有變化!"
  72. function addList1() 
  73. count1 = count1 + 1; 
  74. $("list1").innerHTML = "動態添加了 <b>" + count1 + "</b> 篇文章了!"
  75. function addList2() 
  76. count2 = count2 + 1; 
  77. $("list2").innerHTML = "動態添加了 <b>" + count2 + "</b> 篇文章了!"

再來看看一個簡化的例子:

 

 
  1. //通用的添加和刪除事件的方法(兼容IE和firefox) 
  2. function AddEventHandler(oTarget, sEventType, fnHandler){ 
  3. if (oTarget.addEventListener) {//非IE 
  4. oTarget.addEventListener(sEventType, fnHandler, false); 
  5. }else if (oTarget.attachEvent) {//IE 
  6. oTarget.attachEvent('on' + sEventType, fnHandler); 
  7. }else { 
  8. oTarget['on' + sEventType] = fnHandler; 
  9. function RemoveEventHandler(oTarget, sEventType, fnHandler){ 
  10. if (oTarget.removeEventListener) {//非IE 
  11. oTarget.removeEventListener(sEventType, fnHandler, false); 
  12. }else if (oTarget.detachEvent) {//IE 
  13. oTarget.detachEvent('on' + sEventType, fnHandler); 
  14. }else { 
  15. oTarget['on' + sEventType] = null

最后再來看一個完整的實例:

 

 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  3. <html xmlns="http://www.w3.org/1999/xhtml"
  4. <head> 
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  6. <title>JavaScript添加、刪除事件的方法</title> 
  7. <script type="text/javascript"
  8. var EventUtil=new Object; 
  9. EventUtil.addEvent=function(oTarget,sEventType,funName){ 
  10. if(oTarget.addEventListener){//for DOM; 
  11. oTarget.addEventListener(sEventType,funName, false); 
  12. }else if(oTarget.attachEvent){ 
  13. oTarget.attachEvent("on"+sEventType,funName); 
  14. }else
  15. oTarget["on"+sEventType]=funName; 
  16. }; 
  17. EventUtil.removeEvent=function(oTarget,sEventType,funName){ 
  18. if(oTarget.removeEventListener){//for DOM; 
  19. oTarget.removeEventListener(sEventType,funName, false); 
  20. }else if(oTarget.detachEvent){ 
  21. oTarget.detachEvent("on"+sEventType,funName); 
  22. }else
  23. oTarget["on"+sEventType]=null
  24. }; 
  25. function removeClick(){ 
  26. alert("click"); 
  27. var oDiv=document.getElementById("odiv"); 
  28. oDiv.style.cursor="auto"
  29. EventUtil.removeEvent(oDiv,"click",removeClick); 
  30. function addLoadEvent(func){ 
  31. var oldonload=window.onload; 
  32. if(typeof window.onload !="function"){ 
  33. window.onload=func; 
  34. }else
  35. window.onload=function(){ 
  36. oldonload(); 
  37. func(); 
  38. addLoadEvent(addClick); 
  39. function addClick(){ 
  40. var oDiv=document.getElementById("odiv"); 
  41. oDiv.style.cursor="pointer"
  42. EventUtil.addEvent(oDiv,"click",removeClick); 
  43. </script> 
  44. </head> 
  45. <body> 
  46. <p>第一次點的時候彈出警告,并移除click事件,再點點擊就失效了</p> 
  47. <div id="odiv" style="background:#003399; height:70px; width:126px; margin:0 auto; color:skyblue; ">第一次警告,第二次沒反應!</div> 
  48. </body> 
  49. </html> 

希望本文所述對大家的javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美多人爱爱视频网站| 久久国产精品久久久久久| 欧美亚洲国产视频小说| 中文字幕在线观看日韩| 亚洲国产欧美一区二区三区久久| 日韩精品在线视频观看| 日本韩国欧美精品大片卡二| 91国产精品91| 全亚洲最色的网站在线观看| 久久久久久一区二区三区| 91精品国产一区| 精品五月天久久| 在线激情影院一区| 日韩天堂在线视频| 亚洲欧美日韩天堂一区二区| 国产极品精品在线观看| 国产日韩欧美黄色| 久久久成人的性感天堂| 在线视频精品一| 国产精品九九久久久久久久| 欧美网站在线观看| 国产成人综合精品| 久久影院在线观看| 成人午夜激情网| 欧美激情二区三区| 久久精品国产一区| 久久久久久网站| 亚洲欧洲av一区二区| 日本午夜在线亚洲.国产| 久久久久久久久久久网站| 久久久久久中文字幕| 精品国产精品三级精品av网址| 日韩综合中文字幕| 91久久精品美女| 91久久精品国产91性色| 欧美精品在线网站| 亚洲欧美国产高清va在线播| 中文亚洲视频在线| 91精品免费久久久久久久久| 九九精品在线视频| 亚洲欧洲av一区二区| 国产人妖伪娘一区91| 国产一区二中文字幕在线看| 欧美成人精品一区| 97国产精品视频| 米奇精品一区二区三区在线观看| 中文日韩在线观看| 黄色成人av在线| 亚洲综合中文字幕在线观看| 欧美性少妇18aaaa视频| 97碰在线观看| 欧美精品videossex88| 一本色道久久88亚洲综合88| 国产精品久久久久久搜索| 欧美中文字幕在线播放| 久久99国产综合精品女同| 欧美中文在线观看国产| 精品亚洲一区二区三区四区五区| 欧美有码在线观看视频| 欧美国产乱视频| 亚洲午夜女主播在线直播| 久久亚洲精品国产亚洲老地址| 欧美黑人视频一区| 97国产精品免费视频| 精品露脸国产偷人在视频| 奇米一区二区三区四区久久| 国产免费一区二区三区在线观看| 4444欧美成人kkkk| 欧美丝袜一区二区| 91在线观看免费网站| 超碰日本道色综合久久综合| 有码中文亚洲精品| 欧美国产一区二区三区| 精品调教chinesegay| 欧美在线视频免费| 亚洲精选在线观看| 国产精品免费久久久久久| 性亚洲最疯狂xxxx高清| 欧美猛交ⅹxxx乱大交视频| 日韩欧美在线视频免费观看| 精品成人国产在线观看男人呻吟| 日韩hd视频在线观看| 欧美日韩精品在线视频| 亚洲欧美精品伊人久久| 日韩精品黄色网| 成人国产精品一区| 伊人久久男人天堂| 97成人精品区在线播放| 国产亚洲视频在线| 1769国内精品视频在线播放| 国产精品视频久久| 亚洲xxx自由成熟| 国产不卡av在线免费观看| 国产亚洲精品久久久久久牛牛| 精品视频中文字幕| 日韩在线观看网站| 亚洲第一精品自拍| 午夜精品福利视频| 欧美一级视频在线观看| 久热精品视频在线免费观看| 亚洲欧美日韩第一区| 国产亚洲精品美女久久久| 国产香蕉精品视频一区二区三区| 亚洲美女av在线| 亚洲3p在线观看| 亚洲日本欧美日韩高观看| 日韩69视频在线观看| 欧美精品制服第一页| 久久久女女女女999久久| 亚洲第一天堂无码专区| 在线观看免费高清视频97| 亚洲国产精品久久91精品| 日韩欧美aⅴ综合网站发布| 欧美大尺度激情区在线播放| 日韩国产精品亚洲а∨天堂免| 国产午夜一区二区| 91av视频在线播放| 日韩在线视频免费观看高清中文| 日韩中文在线中文网三级| 欧美人与性动交a欧美精品| 97国产精品人人爽人人做| 欧美激情视频一区二区| 91精品综合视频| 青草热久免费精品视频| 欧美性受xxxx白人性爽| 在线观看日韩专区| 色综合影院在线| 亚洲成人aaa| 狠狠久久亚洲欧美专区| 午夜精品美女自拍福到在线| 欧美激情精品久久久久久久变态| 欧美三级欧美成人高清www| 欧美黑人巨大精品一区二区| 7777kkkk成人观看| 欧美一级大片在线免费观看| 国产一区二区黑人欧美xxxx| 国产精品96久久久久久| 日韩美女视频在线观看| 国产亚洲人成网站在线观看| 欧美性极品少妇精品网站| 国产精品久久久久久av福利软件| 在线看国产精品| 日韩欧美国产中文字幕| 国产精品久久久久久久久久东京| 欧美精品福利视频| 欧美色道久久88综合亚洲精品| 97超级碰在线看视频免费在线看| 日韩欧美aⅴ综合网站发布| 91在线高清免费观看| 成人午夜激情免费视频| 成人黄色av免费在线观看| 国产精品678| 欧美性受xxx| 亚洲精品国产精品国自产观看浪潮| 成人免费视频网| 26uuu另类亚洲欧美日本老年| 欧美日韩中文字幕在线视频| 日韩欧美在线视频| 日韩欧美国产黄色| 亚洲天堂精品在线| 亚洲伊人一本大道中文字幕| 国产97在线观看| 亚洲免费成人av电影| 亚洲在线www|