97免费在线观看视频 I 午夜夫妻视频 I 久久久久久网站 I 天堂网男人 I 欧美大波大乳人奶 I 丝袜 中出 制服 人妻 美腿 I 窝窝午夜理论片影院 I 日韩在线伦理电影 I 韩国特级毛片 I 亚洲欧美另类激情 I 在线成人日韩 I 麻豆视频免费看 I 黄色生活毛片 I 极品一线天小嫩嫩真紧 I 色久天堂 I 久久久久久黄色片 I 林智妍三级露全乳电影视频 I 大肉大捧一进一出好爽视频 I 空乘伦理hd I 少妇口述与子做过爱 I 成人免费影片 I 国产精品国内免费一区二区三区 I 日韩制服一区 I 青青草福利在线 I 日本在线观看不卡视频 I 婷婷六月综合亚洲 I 国产又粗又黄又硬 I 美女扒开屁股让男子桶爽 I 欧美性午夜视频观看 I 欧美狠狠插 I 亚洲福利在线观看视频 I 无码抽搐高潮喷水流白浆 I 亚洲欧美国产日韩色伦 I 你懂的视频网站在线观看 I www.蜜桃视频在线观看 I 日本无码人妻精品一区二区蜜桃 I 久久中文字幕人妻丝袜 I 碰草在线视频 I 日韩精品成人av网站

js事件委托也叫事件代理

2020/11/13 12:00:58   閱讀:2865    發布者:2865


事件委托也叫事件代理,簡單點說就是,把事件綁定到父級上,監聽子元素的冒泡事件


在利用事件委托的時候,我們還必須要知道一個概念:事件對象下的事件源

事件源:在事件中,當前操作的那個元素就是事件源。比如我們點擊a標簽發生onclick事件時,事件源就是a標簽,當點擊li發生onclick事件時,那么事件源就是li

window.onload = function(){ 
    var oUl = document.getElementById('ull');
    var aLi = document.getElementsByTagName('li'); //獲取所有列
    for(var i =0;i < aLi.length;i++){ 
         aLi[i].onmouseover = function(){              this.style.background = "red";         }
}

當然這樣一看代碼也沒什么問題,通過循環給每個li加事件,但想一想如果我們有很多個li,是不是要加很多次事件,這樣其實是非常耗性能的。那么我們會想,能不能只加一個事件就能實現呢。當然是能的,不然我就不會在這扯了。

     那就是通過冒泡原理進行事件委托,我們可以把事件只加給父級oUL,這樣不管移入哪個li,都會觸發父級的移入事件,(對冒泡不太理解的,可以參考我的JS冒泡的文章),但這個時候也有個問題,因為我的需求是,讓對應的li變顏色,不是讓整個列表變,它怎么知道我鼠標移入的是哪個LI,這個時候萬能的事件對象中的一個屬性就要出場了,就是事件源 (不管事件綁定在那個元素中 都指的是實際觸發事件的那個的目標),就是能獲取到你當前鼠標所在的LI,

不過這個有兼容性問題, IE和標準下不同,標準指的就是比較新版本的那些瀏覽器了

IE:window.event.srcElement
標準:event.target

所以需要做下兼容,也很簡單。

window.onload = function(){ 
    var oUl = document.getElementById('ull');
     var aLi = document.getElementsByTagName('li');

  oUl.onmouseover = function(ev){ 
     var event = ev||window.event;  // 獲取event對象
     var target = ev.target || ev.srcElement; // 獲取觸發事件的目標對象
    
     if(target.nodeName.toLowerCase() == 'li'){  //判斷目標對象是不是li
         target.style.background = 'red';
     }

  }
代碼中加了一個標簽名的判斷,主要原因是如果不加判斷,當你鼠標移入到父級oUL上面的時候,整個列表就會變紅,這不是我們想要的結果,所以要判斷一下。
target.nodeName 彈出的名字是大寫的,所以需要轉換大小寫再比較。

其實事件委托還有第二個優點:就是新添加的元素還會有之前的事件

假定我們又有一個需求,點擊某個按鈕,可以在列表中再創建一個li,這個時候一般方法,因為新創建的li沒有加事件,所以是不具備移入變紅的功能的,但是用事件委托的方法,新的li,同樣有這個事件。原理也很容易相同,因為事件是加在父親上面的,父親在,事件在
主站蜘蛛池模板: 夜夜高潮久久做爽久久 | 午夜福利伦伦电影理论片在线观看 | 人人插人人做 | 日本亚洲一区 | 国产69久久久欧美一级 | 国产丝袜视频在线 | 欧美在线www| 欧美影片免费看 | 国产午夜福利在线观看视频_ | 国产黄a三级三级三级 | 清纯粉嫩极品夜夜嗨av | 欧洲hdxxxx女同av性恋 | 天堂资源在线视频 | 日日躁夜夜躁狠狠躁 | 99精品国产在热久久无码 | 午夜精品在线免费观看 | 亚洲夜夜夜 | 国产日韩在线免费 | 全部免费播放在线毛片 | 手机在线看片福利 | 日日夜夜噜 | 亚洲欧美自偷自拍视频图片 | 国产精品丝袜久久久久久消防器材 | 亚洲成人教育av | 国产综合精品在线 | 亚洲午夜无码久久yy6080 | 国产精品一线 | 日本黄色免费大片 | av中文字幕在线免费观看 | jzzijzzij日本成熟丰满少妇 | 大陆三级午夜理伦三级三 | 日韩欧美一区二区三区, | 亚洲高清一区二区三区不卡 | 91久久婷婷国产一区二区 | 人人操日日干 | 国产 欧美 视频一区二区三区 | 精品欧美аv高清免费视频 亚洲欧美色国产综合 | 久久婷婷丁香五月综合五 | 色综合色综合色综合 | 国产喷水1区2区3区咪咪爱av | 又大又粗又爽又黄的少妇毛片 | 无码国产69精品久久久孕妇 | 天堂在线免费视频 | 一区二区三区四区在线不卡高清 | 7788色淫视频观看日本人 | 亚洲大成色www永久网站动图 | 男人激情网 | 国产在沙发上午睡被强 | 亚洲精品乱码久久久久久久久久久久 | 国产99久9在线 麻豆 | 成年男人午夜片 | 狠狠97人人婷婷五月 | 国产精品奇米一区二区三区小说 | 国产女主播白浆在线看 | 日韩人妻无码精品久久免费一 | 丁香六月激情综合 | 黄色一区二区三区 | 一区二区和激情视频 | 在线不卡日韩 | 国产免费福利 | 国产男女无套在线播放 | 亚洲国产精品线久久 | 美女啪网站 | 无码高清 日韩 丝袜 av | 中日av乱码一区二区三区乱码 | 91精品国产丝袜白色高跟鞋 分类 | 国产人妻久久精品二区三区特黄 | 青草视频在线观看免费 | 人妻互换精品一区二区 | 正在播放老肥熟妇露脸 | 日本a一级片| 国产v精品成人免费视频 | 久久99久久99精品中文字幕 | 色噜噜狠狠色综合中国 | 好吊妞人成免费视频观看 | 亚洲vs日韩vs欧美vs久久 | 久久久久亚洲精品国产 | 插我舔内射18免费视频 | 超碰在线cao| 亚洲综合伊人久久大杳蕉 | 亚洲情网 | 白洁乱淫76集 | 欧美一区二区激情三区 | 亚洲一区国产 | 久久4| 亚洲欧美精品伊人久久 | 国产精品高清一区二区不卡 | 国产成人av一区二区三区在线观看 | 午夜看毛片 | www成人国产高清内射 | 亚洲区小说区图片区qvod | 精品一区二区三区在线观看 | 日韩a∨精品日韩在线观看 偷拍亚洲视频 | 国产色拍拍拍拍在线精品 | 未满十八18禁止免费无码网站 | 一级老太婆bbb视频bbb | 精品国产片一区二区三区 | 日本免费在线视频 | 色婷婷丁香 |