获取事件源原理:将子元素的事件交给父元素处理,提高性能,利用事件冒泡
<body>
<ul id='ul'>
<li>1</li>
<li>2</li>
<li>3</li>
<h4>hhhh4444</h4>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<p>ppppppppM</p>
<li>8</li>
<li>9</li>
<li>10</li>
</ul>
<script>
//事件委托,将子元素的事件交给父元素处理,利用了事件冒泡,提高浏览器性能
var oUl=document.getElementById("ul");
//获取事件源
oUl.onclick=function(evt){//oUl点击事件
var e = evt || window.event;//事件兼容
//event.target 获取标准浏览器的事件源
//event.srcElement 获取Ie浏览器的事件源
var target = e.target || e.srcElement;//获取事件源target兼容
if(target.nodeName.toupperCase() === 'LI'){//事件源的节点名称大写为LI,获取li元素
alert(target.innerHTML);
}
}
</script>
</body>