</pre>JavaScript与HTML的交互是通过事件实现的,什么是事件?事件就是文档或者浏览器窗口发生一些特定的交互瞬间。什么是事件流?事件流描述的是从页面中接收事件的顺序,IE的事件流是事件冒泡流,而Netscape Communicator 的事件流是事件捕获流。<p></p><p><span style="font-family:KaiTi_GB2312; font-size:14px">(1)IE中的事件流:</span></p><p><span style="font-family:KaiTi_GB2312; font-size:14px"></span></p><pre name="code" class="javascript" style="font-size: 14px;"><body>
<div id="div">
<div id="div1"></div>
</div>
<script>
var ch = document.getElementById('div1');
var fa = document.getElementById('div');
ch.onclick = function(){
alert('haha');
}
fa.onclick = function(){
alert('haha');
}
document.body.onclick = function(){
alert('haha');
}
</script>
</body>
当单击了#div1的时候,这个事件会由它向父元素一层一层的传播:div1->div->body->html->document,故,会连续弹出三个对话框。
IE9,Firefox,Chrome and Safari则将事件一直冒泡到window.
(2)Netscape中的事件流与IE是相反的,document->html->body->div->div1,因为老版本的浏览器不支持,尽量不要使用。