首页 > 代码库 > javascript 事件委托

javascript 事件委托

<ul id="ul">  <li>aaaaaaaa</li>  <li>bbbbbbbb</li>  <li>cccccccc</li></ul>
window.onload = function(){  var oUl = document.getElementById("ul");  var aLi = oUl.getElementsByTagName("li");/*这里要用到事件源:event 对象,事件源,不管在哪个事件中,只要你操作的那个元素就是事件源。ie:window.event.srcElement标准下:event.targetnodeName:找到元素的标签名*/  oUl.onmouseover = function(ev){    var ev = ev || window.event;    var target = ev.target || ev.srcElement;    //alert(target.innerHTML);    if(target.nodeName.toLowerCase() == "li"){    target.style.background = "red";    }  }  oUl.onmouseout = function(ev){    var ev = ev || window.event;    var target = ev.target || ev.srcElement;    //alert(target.innerHTML);    if(target.nodeName.toLowerCase() == "li"){    target.style.background = "";    }  }}

优点:1.利用冒泡原理提高性能

   2.动态添加的子元素可以得到事件

javascript 事件委托