博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

dom事件流 target currentTarget

Posted on 2013-07-08 13:44  bw_0927  阅读(161)  评论(0)    收藏  举报

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);}

=================