亚洲一区在线播放-欧美另类极品videosbest使用方法-亚洲成人av在线播放-黄色录像大片-色悠悠av-91欧美日韩-中文字幕偷拍-综合色婷婷一区二区亚洲欧美国产-一级爱爱片-黑人添美女bbb添高潮了-久久青娱乐-黄色一级视屏-美女国产在线-亚洲九九九九-欧美 日韩 国产 成人 在线观看-星空大象mv高清在线观看免费-国产福利合集-好吊色视频在线观看-尤物综合网-18岁成年人网站

js事件委托也叫事件代理

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


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


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

事件源:在事件中,當前操作的那個元素就是事件源。比如我們點擊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,同樣有這個事件。原理也很容易相同,因為事件是加在父親上面的,父親在,事件在
主站蜘蛛池模板: 羞羞的软件 | 色呦呦网站在线观看 | 夜夜天天拍拍 | 欧美日韩国产高清视频 | 国产人妻一区二区三区四区五区六 | 五月亚洲 | 亚洲男人在线 | 国产在线成人精品午夜 | jzzijzzij亚洲成熟少妇 | 很污很黄的网站 | 黑人精品欧美一区二区蜜桃 | 午夜看片网站 | 一区二区三区在线观看视频 | av一区二区在线播放 | 欧美精品99久久久 | 自拍偷拍亚洲图片 | 性网站在线观看 | 精品无码人妻一区二区三区 | 人人爱人人插 | 激情六月天 | 明日叶三叶 | 欧美午夜精品久久久久久孕妇 | 日韩乱码人妻无码系列中文字幕 | 国产一级做a | 在线观看不卡一区 | 成人熟女一区二区 | 麻豆成人av | 欧美,日韩,国产精品免费观看 | 99热精品在线观看 | 有码一区二区 | 国产午夜精品福利 | 色无极亚洲 | 国产中文视频 | 亚洲视频在线观看一区 | 福利电影在线播放 | 雪白的扔子视频大全在线观看 | 中文字幕无码精品亚洲35 | 91精品国产色综合久久不8 | 欧美精品欧美极品欧美激情 | 久久久久免费看 | 成人理论视频 | 亚洲第一视频在线播放 | 国产精品久久婷婷 | 东京热一本视频一区 | 男人天堂网av| 日本激情影院 | 爽爽影院在线 | 国产精品无码电影在线观看 | 99爱这里只有精品 | 国产a不卡 | 国产一区二区三区成人 | 亚洲精品一二 | 国产精品视频一区二区三区, | 男生和女生一起差差差很痛的视频 | 美女100%视频免费观看 | 驯服少爷漫画免费观看下拉式漫画 | 午夜精品久久久久久久久久久久 | 国产永久在线观看 | 国产精品桃色 | 日韩中文字幕精品视频 | 精品亚洲一区二区三区 | 日本四虎影院 | 我们的生活第五季在线观看免费 | 97精品视频在线观看 | 国产午夜大片 | 国产美女被遭强高潮免费网站 | 国产特黄aaaaa毛片 | 天海翼一区二区 | 曰批免费视频播放免费 | 欧美性色19p | 亚洲成人免费在线 | 亚洲AV无码成人精品国产一区 | 成人a级网站 | 四虎网址在线观看 | 欧美精品久久久久久久久 | 久久久无码18禁高潮喷水 | 亚洲精品无人区 | 欧美激情在线播放 | 肥婆大荫蒂欧美另类 | 美日韩一区二区 | 日韩精品视频网 | 亚洲色图第三页 | 亚洲黄色片| 久草最新 | 亚洲欧美中日韩 | 欧美激情国产一区 | 国产真人毛片 | 亚洲三区视频 | 青青草国产成人99久久 | 一区二区精品在线 | 男人的天堂网在线 | 久久蜜桃精品 | 性色欲网站人妻丰满中文久久不卡 | 国产免费内射又粗又爽密桃视频 | 福利国产在线 | 亚洲大尺度在线观看 | 久久久精品动漫 | 色婷婷av久久久久久久 | 91精品视频网站 |