日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript 中的事件设计

發布時間:2025/4/14 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript 中的事件设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 事件綁定的幾種方式

  ?主要介紹一下 最常用的事件設計 其他就稍微帶過。

  直接在代碼里面添加onclick指定函數名字。

  

  B) 在JS代碼中通過dom元素的onclick等屬性

  

  這種做法this表示當前DOM對象 還有一點 這種做法只能綁定一個事件處理函數 后面的會覆蓋前面的。可以看出 只能打印 "2 = div"

  C) 至于IE下面的attachEvent 函數就不介紹了 直接介紹W3C的 標準的 addEventListenerremoveEventListener

  IE8 之前都不支持 IE9就開始支持了。

  addEventListener(type, listener, userCapture);

  // type : 事件類型 不含"on"? "click" "keydown"

 ? // listener : 事件處理函數

  ?// userCapture 是事件冒泡 還是事件捕獲默認false 代表時間冒泡類型

  事件處理函數中this代表的是dom對象 不是window 這個特性與attachEvent不同

  

  B 同一個事件處理函數可以綁定2次 一次用于事件捕獲 一次用于時間冒泡。

  

2. 事件處理函數的執行順序

  前面的方式都不能實現事件的重復綁定 所以自然也就不存在執行順序的問題 最后面的一種可以重復綁定 所以需要了解執行順序的問題。

  addEventListener 和attachEvent表現一致。如果給同一個事件綁定多個處理函數 先綁定的先執行

  

  當點擊outA的時候 會依次打印出 1 2 3 4 這里需要特別注意 我們給定A綁定多個onclick事件處理函數 也是直接點擊A觸發的事件 所以不涉及事件冒泡和事件捕獲的問題

  ?

3. 事件冒泡和事件捕獲

    

  如果點擊了最內側的C 那么最外層的A算不算被點擊了呢。 很顯然算的 不然就沒有必要區分事件冒泡和事件捕獲

  

  一般來說 事件冒泡機制用的更多一點 所以在IE8 之前 IE 只支持事件冒泡 IE9+/FF/Chrome這2種模型都支持,可以通過addEventListener((type, listener, useCapture)的useCapture來設定,useCapture=false代表著事件冒泡,useCapture=true代表著采用事件捕獲

  

  事件冒泡 當點擊C的時候 打印順序是3 2 1. 將false 改成true 打印的順序就是 1? 2? 3

4. DOM事件流

  

  
    DOM事件流:將事件分為三個階段:捕獲階段、目標階段、冒泡階段。先調用捕獲階段的處理函數,其次調用目標階段的處理函數,最后調用冒泡          階段的處理函數。

    

    當點擊outC的時候,依次打印出capture1–>capture2–>target–>bubble2–>bubble1。到這里是不是可以理解addEventListener(type,handler,useCapture)這個API中第三個參數useCapture的含義呢?useCapture=false意味著:將事件處理函數加入到冒泡階段,在冒泡階段會被調用;useCapture=true意味著:將事件處理函數加入到捕獲階段,在捕獲階段會被調用。從DOM事件流模型可以看出,捕獲階段的事件處理函數,一定比冒泡階段的事件處理函數先執行。

 5 事件函數執行先后順序

    目標自身觸發事件 是冒泡還是捕獲無所謂

    捕獲階段的處理函數最先執行,其次是目標階段的處理函數,最后是冒泡階段的處理函數。

    目標階段的處理函數,先注冊的先執行,后注冊的后執行

?6. 阻止事件冒泡和捕獲

    默認情況下 多個事件處理函數會按照DOM 事件流模型中的順序執行 如果子元素上發生某個事件 不需要執行父元素上注冊的事件處理函數

    那么我們可以停止捕獲和冒泡?前面提到的事件綁定方式,都可以實現阻止事件的傳播。由于第5種方式,是最推薦的做法。所以我們基于第5種方    式,看看如何阻止事件的傳播行為。IE8以及以前可以通過 window.event.cancelBubble=true阻止事件的繼續傳播;IE9+/FF/Chrome通過     event.stopPropagation()阻止事件的繼續傳播。

    

    點擊outC的時候,之后打印出capture–>target,不會打印出bubble。因為當事件傳播到outC上的處理函數時,通過stopPropagation阻止了事件的繼續傳播,所以不會繼續傳播到冒泡階段。

轉載于:https://www.cnblogs.com/syomm/p/5747441.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的JavaScript 中的事件设计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 什么网站可以看毛片 | 99插插插| 天天艹日日艹 | 超碰在线观看av | 亚洲日b视频 | 综合网中文字幕 | 日韩中文字幕综合 | 午夜伦伦电影理论片费看 | 国产精品高潮呻吟久久久 | 日韩av免费在线播放 | 色香蕉av| 91久久婷婷| av影库| 蜜桃视频成人在线观看 | 亚洲AV综合色区国产精品天天 | 精品少妇视频 | 成年人在线视频网站 | 中文字幕无码日韩专区免费 | 飘花影院伦理片 | 2025中文字幕 | 欧美午夜一区二区 | 亚洲男女视频在线观看 | 国内视频一区二区三区 | 在线aaa | 日日爱669 | 亚洲人性生活视频 | 欧美在线视频免费观看 | 最新黄色av | 天天躁夜夜躁狠狠是什么心态 | 精品国产一区二区在线观看 | 国产区欧美区日韩区 | 曰韩在线 | 性欧美另类| 亚洲AV永久无码国产精品国产 | 亚洲Av无码成人精品区伊人 | 老司机一区二区三区 | 午夜操操 | 一区二区三区欧美 | 日日干天天爽 | 91精品国产自产精品男人的天堂 | 国产刺激视频 | 国产一区二区三区在线看 | 丝袜美腿一区二区三区 | 欧美久久精品一级黑人c片 1000部多毛熟女毛茸茸 | 国产成人精品网 | 芒果视频在线观看免费 | 成人av在线网| 黄页网站视频 | 亚洲大片| 伊人9 | 中文在线观看高清视频 | 超碰影院在线 | 一区二区三区黄 | 狼性av懂色av禁果av | 久久精品69 | 田中瞳av | 美女在线观看视频 | 欧美色国 | 成人免费区一区二区三区 | 国产不卡av在线播放 | 日韩成人综合网 | 国产精华7777777 | 波多野结衣高清电影 | 欧美日韩一区二区中文字幕 | 日本精品在线观看 | 亚洲影音先锋 | 成人啪啪18免费游戏链接 | 色婷视频| 日韩中文字幕久久 | 国产a视频免费观看 | 午夜精品在线观看 | 美日韩视频 | 日本啊v在线 | av青青草| 欧美夫妻性生活视频 | 日本在线观看一区二区 | 窝窝午夜看片 | 粉嫩一区 | 美女极度色诱图片www视频 | 人人澡超碰碰97碰碰碰 | 女人久久| 色视频在线看 | 日本黄页网站免费大全 | 黄色一级黄色片 | 国产一区二区自拍视频 | 国产a不卡 | 老司机深夜福利在线观看 | 瑟瑟综合| 最新在线中文字幕 | www,超碰| 狠狠五月婷婷 | 玖玖热在线视频 | 香蕉视频污在线观看 | 迈开腿让我尝尝你的小草莓 | 国产日韩三级 | 日本a在线天堂 | 亚洲男男网站 | 国产农村妇女精品一区二区 | 亚洲网站免费观看 |