Javascript的事件冒泡和事件捕獲,阻止事件冒泡,事件來源target

來源:互聯網
上載者:User

事件冒泡

事件捕獲:父級元素先觸發,子級元素後觸發

事件冒泡:子級元素先觸發,父級元素後觸發

現在在IE和FF下,觸發事件基本都是事件冒泡,由內向外的執行

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>    <title>冒泡事件</title>    <style type="text/css">        *{ margin:0; padding:0; }        .div1{ width:200px; height:200px; background-color:#cccccc; overflow:hidden; }        .div2{ width:100px; height:100px; background-color:gray; margin:50px; }    </style></head><body>    <div class="div1" onclick="javascript:alert('外');">        <div class="div2" onclick="javascript:alert('內');"></div>    </div></body></html>

點擊div2的時候,先顯示“內”,再顯示“外”,這就是事件冒泡

阻止事件冒泡

方法:

        function stopBubble(event) {            if (event && event.stopPropagation) {                event.stopPropagation();            } else {                window.event.cancelBubble = true;            }        }

使用:

    //監視使用者何時把滑鼠移到元素上,    //為該元素添加紅色邊框    unionDom[i].onmouseover = function(e) {        this.style.border = "1px solid red";        stopBubble( e );    };

擷取事件來源:

        function (event) {            var e = event || window.event;            var elem = e.srcElement || e.target;            alert(elem.id);//elem就是事件來源        }

參考:

javascript事件冒泡與事件捕獲  

javascript阻止冒泡事件、事件來源target、當前目標currentTarget解釋

javascript阻止事件冒泡和瀏覽器的預設行為

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.