js事件冒泡

来源:互联网 发布:装网络摄像头怎么安装 编辑:程序博客网 时间:2024/06/18 12:35

当进行事件触发时(eg:onclick),事件会往自身上面传递。
即:当一个动作触发多个事件时(点击box的动作,会触发box绑定的onclick事件,也会触发document上的onclick事件),此时会触发两个事件。
阻止冒泡,即可只触发box上的一个事件。(e.cancelBubble = true;)
具体事例
1.实现目标:一个按钮,点击后会出现一个列表。
选择列表中一个时,列表不消失。
点击其他时,列表消失。
2.

<div id="box">    <p id="p">点我</p>    <ul id="ul">        <li>菜鸟在路上</li>        <li>灰灰</li>        <li>-C</li>        <li>黑胡椒</li>        <li>可乐</li>        <li>xiaoleung</li>        <li>永无止境</li>    </ul></div>
box.onclick=function (e) {        e=e||window.event;        ul.style.display = "block";        e.cancelBubble = true;//阻止冒泡,使列表不消失    }document.onclick=function () {        ul.style.display = "none"    }
原创粉丝点击