事件委托

事件委托

  1. 不用給子元素循環(huán)綁定事件,提高性能
  2. 新添加的子元素,仍能保留原有事件

Event 對(duì)象兼容處理

IE :window.event.srcElement
標(biāo)準(zhǔn):event.target
兼容寫法

function(e){
    var e = e || window.event;
    var target = ev.target || e.srcElement;
    alert(target.innerHTML);// 對(duì)目標(biāo)元素處理,檢測(cè)
}

下面貼一段代碼演示

<ul id="ul">
    <li>11</li>
    <li>22</li>
    <li>33</li>
</ul>
var oUl = document.getElementById('ul1');
var aLi = oUl.getElementsByTagName('li');

oUl.onmouseover = function(ev){
    var ev = ev || window.event;
    var target = ev.target || ev.srcElement;
    // 用nodeName節(jié)點(diǎn)名判斷是子元素還是父元素
    if(target.nodeName.toLowerCase() == 'li'){
        target.style.background = 'red';
    }
};
oUl.onmouseout = function(ev){
    var ev = ev || window.event;
    var target = ev.target || ev.srcElement;

    if(target.nodeName.toLowerCase() == 'li'){
        target.style.background = '';
    }
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自 http://www.cnblogs.com/liugang-vip/p/5616484.html 一、概...
    涅磐廣廣閱讀 552評(píng)論 0 8
  • 鏈接地址:http://www.cnblogs.com/liugang-vip/p/5616484.htmlhtt...
    青春前行閱讀 876評(píng)論 0 0
  • 為什么使用事件委托 一般來說,dom需要有事件處理程序,我們都會(huì)直接給它設(shè)事件處理程序就好了,那如果是很多的dom...
    a180754bf396閱讀 1,507評(píng)論 0 1
  • 1,什么是事件委托:通俗的講,事件就是onclick,onmouseover,onmouseout,等就是事件,委...
    90后IT閱讀 465評(píng)論 0 0
  • 大家好,我是IT修真院成都分院第07期學(xué)員,一枚正直善良的web程序員。 一、小課堂簡(jiǎn)述JS中的事件委托 1.背景...
    120De丶L閱讀 384評(píng)論 0 0

友情鏈接更多精彩內(nèi)容