例如有大于1000个li 在上面做点击事件,如果挨个遍历的话效率会很差 可以利用事件代理,在ul上绑定事件 提高效率
<ul id="uid"> <li id="li1">1</li> <li id="li2">2</li> <li id="li3">3</li> <li id="li4">4</li> <li id="li5">5</li> <li id="li6">6</li> <li id="li7">7</li> <li id="li8">8</li> <li id="li9">9</li> <li id="li10">10</li> ... </ul>
js代码大概张这样
var uid = document.getElementById("uid"); uid.onclick = function(e){ e = e || window.event; var target = e.target || e.srcElement; if(target.tagName.toLowerCase() === 'li'){ alert(target.innerHTML); } }