JavaScript事件(事件捕获/事件冒泡)

1.事件冒泡

微软提出了名为事件冒泡的事件流。事件冒泡,事件会从最内层的元素开始发生,一直向上传播,直到document对象。
在事件冒泡的概念下发生click事件的顺序应该是p -> div -> body -> html -> document

2.事件捕获

网景提出另一种事件流名为事件捕获与事件冒泡相反,事件会从最外层开始发生,直到最具体的元素。
在事件捕获的概念下发生click事件的顺序应该是document -> html -> body -> div -> p

关于冒泡的实例:

HTML:
<div class="abc" id="box">点击:演示冒泡</div>

JavaScript:
var box = document.getElementById('box');
box.addEventListener('click', function () { alert('Lee');}, false);//把false改为true,演示捕获
document.addEventListener('click', function () {alert('document');}, false);//把false改为true,演示捕获
捕获与冒泡
默认情况下,事件使用冒泡事件流,不使用捕获事件流。
  • 事件捕获:执行顺序(document->html->body->div)
  • 事件冒泡:执行顺序(div->body->html->document)
  • IE < 9:只支持事件冒泡
  • IE 9+|chrome|firefox|safari:事件冒泡+事件捕获

未完待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值