jQuery事件的冒泡过程
2012-01-04 21:55
148 查看
严格来说,事件在触发后被分为两个阶段,一个是捕获(Capture),另一个则是冒泡(Bubbling)。不过大多数浏览器不是都支持捕获阶段,jQuery也不支持,因此在事件触发后,往往执行冒泡过程。冒泡的实质就是事件执行中的顺序,通过以下例子来解释。
?
该页面分为三层,分别是divOne、divTwo和hr_three,他们都有各自的click事件。运行页面时点击“点击我”,会依次弹出“最里层”、“中间层”、“最外层”,然后链接到tinyliu.info。这就是事件的冒泡过程,虽然只点击了一次链接,但链接外围的divTwo的事件也被触发,同时divTwo的外围divOne的事件也随之被触发,一共执行了三次alert,从里到外。整个事件波及的过程就像水泡一样往外冒,故称为冒泡过程。
在实际需要中,很多时候并不希望事件的冒泡现象发生,jQuery中可通过两种方法来阻止冒泡过程的发生。
1. event.stopPropagation();
?
2. return false;
?
他们的区别在于stopPropagation只阻止冒泡过程(即只触发一次alert),不会阻止事件的默认行为(跳转到tinyliu.info);而return false不仅会阻止冒泡过程,也会组织事件的默认行为,alert完成后不会跳转到tinyliu.info。与此相关的还有一个preventDefault函数,此函数与return false相反,它不会阻止冒泡过程,但会阻止默认行为。
?
在实际需要中,很多时候并不希望事件的冒泡现象发生,jQuery中可通过两种方法来阻止冒泡过程的发生。
1. event.stopPropagation();
?
?
相关文章推荐
- jquery 阻止事件冒泡
- jQuery中的事件冒泡、事件捕获和事件追加引发的问题
- JQuery事件----冒泡机制的思考
- JQuery中阻止事件冒泡方式及其区别
- JQuery 提供了两种方式来阻止事件冒泡
- jquery阻止事件冒泡 点击
- JQuery 提供了两种方式来阻止事件冒泡及区别
- jQuery阻止事件冒泡
- jquery阻止事件冒泡
- [笔记]关于jquery冒泡和默认事件处理
- JQuery中阻止事件冒泡的两种方式及其区别
- jquery的冒泡事件的阻止与允许(三种实现方法)
- jQuery 中的事件冒泡和阻止默认行为
- 带你学习JQuery:事件冒泡和阻止默认行为
- jquery防止事件冒泡和取消默认行为案例
- jquery 执行Ajax的过程中触发的事件
- Jquery 的冒泡事件
- 带你学习JQuery:事件冒泡和阻止默认行为
- 一个形象展示浏览器事件冒泡与捕获过程的demo
- jquery取消事件冒泡的三种方法(推荐)