http://blog.csdn.net/mengzhongshi/article/details/6955979
http://www.cnblogs.com/wkylin/archive/2011/08/25/2153538.html
标准Dom事件流,分三个阶段捕获阶段、目标阶段、冒泡阶段(也有人直接分为两个阶段,捕获和冒泡)。其中捕获开始结点和冒泡的末尾结点
都是window。有人说在ie中,只有冒泡阶段没有捕获阶段,我在ie9下测试发现是有的。不知道旧的版本有没有。
元素添加事件处理函数的方法有两个:html属性和使用javascript对象属性。分别如下:
<script type="text/javascript">
function clickEvent(){ alert('click me');
</script>
一、html属性:<a id="aid" onclick="clickEvent()">Click me</a>
二、javascript:
<script type="text/javascript">
document.getElementById('aid').onclick = clickEvent;
</script>
注意这两种方法并不是等价的。其实第一种方法,等价于下面这种方法:
<script type="text/javascript">
document.getElementById('aid').onclick = function(event){ clickEvent(); }
</script>
从上面的代码,可以看出在使用html属性的方法加函数,相当于申明一个匿名函数。
事件对象event,它是用于记录事件发生时,事件的各种相关的信息。在ie和支持标准dom的浏览器上,事件对象的获取方法和属性是不同的。
ie: 把事件对象当做是window的一个属性。可以这样引用function(){ var e = window.event;} (ps:对于e = e | window.event这样的代码你有印象吗?)
dom: 把事件对象当做传给事件处理函数的唯一参数。function(event){alert(event.target);}
=================