Capture

事件捕获

事件捕获是由Netscape Communicator团队提出来的,是先由最上一级的节点先接收事件,而后向下传播到具体的节点。当用户点击了<div>元素,采用事件捕获,则click事件将按照document—><html>—><body>—><div>的顺序进行传播。javascript

若在<div>和<body>上都定义了click事件,以下:html

复制代码
<script type="text/javascript">
        var div=document.getElementById("myDiv");    
        div.addEventListener("click",function(event){
            alert("div");
        },true);
        document.body.addEventListener("click",function(event){
            alert("body");
        },true);
        
    </script>
复制代码

(注:addEventListener具体使用见本文DOM2级事件处理)java

点击<div>,将先输出“body”,再输出“div”。chrome

IE9,chrome,Firefox,Opera,Safari都支持事件捕获,可是IE8和IE8如下的版本只支持事件冒泡。尽管DOM2规范要求事件应该从document对象开始传播,可是如今的浏览器实现都是从window对象开始捕获事件。浏览器

相关文章
相关标签/搜索