Event的三个阶段:CAPTURING_PHASE,AT_TARGET,BUBBLING_PHASE

来源:互联网 发布:人民公网移动wifi知乎 编辑:程序博客网 时间:2024/06/06 20:38

转自www.w3school.com.cn/htmldom/event_bubbles.asp


在 2 级 DOM标准中,事件传播分为三个阶段:

第一,捕获阶段。事件从 Document 对象沿着文档树向下一级一级传递给目标节点。如果目标的任何一个先辈注册了捕获事件句柄比如document.onkeydown=myonkeydown,那么在事件传播过程中马上运行这些句柄,而不等到传播到目标才执行。


第二个阶段发生在目标节点自身。直接注册在目标上的适合的事件句柄将运行。这与 0 级事件模型提供的事件处理方法相似。


第三,起泡阶段。在此阶段,事件将从目标元素向上传播回或起泡回 Document 对象的文档层次。



事件传播的当前阶段。它的值是下面的三个常量之一,它们分别表示捕获阶段、在目标对象上时和起泡阶段

1 CAPTURING_PHASE,

2 AT_TARGET,

3 BUBBLING_PHASE


下面是一个例子:"事件气泡秀"Bubble event show

<html>

<head>

<script type="text/javascript">


function foo1(){alert("foo1");}

function foo2(){alert("foo2");}

function foo3(){alert("foo3");}

function foo4(){alert("foo4");}

</script>

</head>


<body onclick="foo1()">

<p onclick="foo2()">

<em onclick="foo3()">

<input type="text" onclick="foo4()">

bubble event show

</input>

</em>

</p>

</body>

</html>


原创粉丝点击