分享人:聂义中
目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
当事件发生后,这个事件就要开始传播(从里到外或者从外向里)。为什么要传播呢?因为事件源本身 (可能)并没有处理事件的能力,即处理事件的函数(方法)并未绑定在该事件源上。例如我们点击一个 按钮时,就会产生一个click事件,但这个按钮本身可能不能处理这个事件,事件必须从这个按钮传播出去 ,从而到达能够处理这个事件的代码中(例如我们给按钮的onclick属性赋一个函数的名字,就是让这个 函数去处理该按钮的click事件),或者按钮的父级绑定有事件函数,当该点击事件发生在按钮上, 按钮本身并无处理事件函数,则传播到父级去处理。
浏览器的一些默认的行为。例如:如链接点击后跳转到相应的页面 ,提交按钮点击时会提交表单数据、 鼠标点击右键会弹出菜单,滑动滚轮控制滚动条等等。
如何阻止事件冒泡和默认事件?
非IE提供stopPropagation()方法,使用event对象在事件函数中调用就行 IE中提供的是,cancelBubble属性,默认为false,当它设置为true时,就是阻止事件冒泡,也是用event对象在事件函数中调用
原生js return false 只会阻止默认行为
jQuery里面 return false既可以阻止冒泡还可以阻止默认行为
感谢大家观看
BY : 聂义中