js事件流、事件代理等
菜菜的自己发现真的啥都不太懂 -
虽然啥都会一点,但是却什么都不精通。
偶然看见js事件流和事件代理等 - 黑人问号脸,虽然在实际写代码的时候经常用到。
做个总结:
都是学的别人的。
事件代理:通过将事件加载在父级元素,而不加在子级元素上,通过事件冒泡、事件目标等机制,找到触发的来源。
获得目标来源:
IE中e.srcElement
其他浏览器e.target
优点:提高性能,可以避免浏览器崩溃。
blur\focus\load\unload不可以像其他一样事件冒泡,但blur\focus可以事件捕捉。
加事件的方法:
$(div).attchEvent('on'+type,function()); $(div).addEventListener(type,function(){},false);
$(div).onclick=function(){
};
事件捕获:事件到达预定目标之前捕获它。从模糊--》具体,按道理是document--->实际上window-->docuemnt-->....
DOM2级事件流规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段和冒泡阶段。首先发生的是事件捕获,为截获事件提供了机会。然后是实际的目标接收到事件。最后一个阶段是冒泡阶段,可以在这个阶段对事件作出响应。