事件委托
将子元素事件通过冒泡形式交由元素执行
例
<ul id="pu">
<li>1</li>
<li>1</li>
<li>1</li>
</ul>
var ul=document.getElementById('pu');
ul.οnclick=function(event){
var e=event||window.event;
var source=e.target||e.srcElement;
//target,事件中冒泡中触发事件源元素
if(source.nodeNametoLowerCase()=="li")
{
alert(source.innerHTML);
}
StopPropagation(e);//阻止继续冒泡
}
事件委托降低了DOM操作次数
事件先冒泡后捕获
W3C模型中,先从顶层开始进行事件捕获,直到事件源元素后,再从事件源向上进行事件冒泡。
使用addEventListener函数可以来选择是事件捕获还是事件冒泡
ele.addEventListener(‘click’,doSomething,true);
true=捕获
flase=冒泡
注:
IE只支持冒泡,阻止事件冒泡
StopPropagation()方法
IE下设置cancelBubble=true;
obj.addEventListener("第一个参数写事件“,”第二个参数写函数“,”第三个参数规定是否为捕获型“);