如何阻止事件冒泡和默认事件
2016-04-26 08:52
337 查看
一、冒泡事件
我们都知道冒泡就像水底气泡浮到水面这一过程。冒泡事件即是事件从最底层逐个经过上面一级级事件的过程,就是冒泡事件。那么如何有效的阻止冒泡事件的发生?其实在非IE浏览器中提供了一个事件对象 stopPropagation,那么在IE浏览器中有没有一个对象去阻止冒泡事件呢,答案是肯定的,通过cancelBubble事件对象可以阻止。
二、默认事件
浏览器的默认事件就是浏览器自己的行为,比如我们在点击<a href="#">的时候,浏览器跳转到指定页面。还有,当我们滚动鼠标时页面会向下滚动,但我们按空格键和按方向键时页面也会向下滚动,为了更好的用户体验,这时我们就需要阻止这种行为的发生。
代码如下:
我们都知道冒泡就像水底气泡浮到水面这一过程。冒泡事件即是事件从最底层逐个经过上面一级级事件的过程,就是冒泡事件。那么如何有效的阻止冒泡事件的发生?其实在非IE浏览器中提供了一个事件对象 stopPropagation,那么在IE浏览器中有没有一个对象去阻止冒泡事件呢,答案是肯定的,通过cancelBubble事件对象可以阻止。
二、默认事件
浏览器的默认事件就是浏览器自己的行为,比如我们在点击<a href="#">的时候,浏览器跳转到指定页面。还有,当我们滚动鼠标时页面会向下滚动,但我们按空格键和按方向键时页面也会向下滚动,为了更好的用户体验,这时我们就需要阻止这种行为的发生。
代码如下:
// 阻止事件冒泡
function stopBubble(e) { if(e && e.stopPropagation){ e.stopPropagation(); } else { window.event.cancelBubble = true; } }; // 阻止浏览器的默认事件 function stopDefault(e){ if(e && e.preventDefault) { e.preventDefault(); } else { window.event.returnValue = false; } return false; };
相关文章推荐
- 解析 xml 空格错误
- 常用的排序算法(快速排序、插入排序、希尔排序、堆排序、冒泡排序、选择排序、归并排序)
- 值得推荐的C/C++框架和库
- iOS开发系列--让你的应用“动”起来
- Java实现Trie树
- 构造根文件系统三之构建etc、dev等剩余目录
- Effective C++ 55个条款
- 石子合并问题
- 大三的看法
- iOS开发系列--打造自己的“美图秀秀”
- Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解
- 二维码的扫描和生成二维码
- 2016编程之美初赛时的两道试题
- 计算机书目推荐
- iOS开发系列--触摸事件、手势识别、摇晃事件、耳机线控
- 2016-4-26 早
- ant copy file
- 优化Duilib图片属性解析代码,提升绘制效率
- AngularJS 日期转换字符串
- 安装wampserver的过程很简单,php爱好者有福了