javascript 阻止冒泡和浏览器的默认行为
在使用javascript编程时会遇到一个问题,就是当你给html添加事件时,由于浏览器默认的为冒泡型事件触发机制,所以会触发你不想触发的事件.那么通过如下的函数可以解决这个问题。
1.阻止事件冒泡
function stopBubble(e) { //如果提供了事件对象,则这是一个非IE浏览器 if ( e && e.stopPropagation )//因此它支持W3C的stopPropagation()方法 e.stopPropagation(); else//否则,我们需要使用IE的方式来取消事件冒泡window.event.cancelBubble = true; }
2.当按键后或者点击一个链接后,不希望按键或者链接执行时,可以取消返回值.即停止默认事件默认行为
//阻止浏览器的默认行为 function stopDefault( e ) {//阻止默认浏览器动作(W3C)if ( e && e.preventDefault )e.preventDefault();//IE中阻止函数器默认动作的方式elsewindow.event.returnValue = false;return false; }
示例 : 点击页面的任何URL链接 不跳转。
var links=document.getElementsByTagName('a');for(var i=0;i<links.length;i++){links[i].onlick=function(e){alert('我不跳转,点我也没用');stopDefault(e)}}
另一个阻止冒泡常见的应用就是下拉菜单的效果,点击按钮,下拉菜单显示,在点击页面任何其它部分,下拉菜单隐藏。
//给document添加点击事件,点击时关闭菜单,默认情况下,点击任何元素,都会冒泡的到document document.onclick=function(){ b.style.display="none"; }//为点击元素显示下拉菜单的元素阻止冒泡,这样document的click事件就被阻止执行function showMenu(e) { var e=window.event || e; 下拉菜单.style.display="block"; if(e.stopPropagation){ e.stopPropagation()} else{e.cancelBubble=true;} }点击按钮.onclick=下拉菜单.οnclick=showMenu;
转载于:https://www.cnblogs.com/yaojaa/archive/2013/01/28/2880050.html
javascript 阻止冒泡和浏览器的默认行为相关推荐
- javascript阻止事件冒泡和浏览器的默认行为
http://www.aspxhome.com/javascript/skills/200712/262128.htm 就是说用Div框住flash Div的鼠标事件不传递给Body 文中说的方法记 ...
- JavaScript阻止冒泡和取消默认事件(默认行为)
JavaScript冒泡和捕获是事件的两种行为,使用event.stopPropagation()起到阻止捕获和冒泡阶段中当前事件的进一步传播.使用event.preventDefault()可以取消 ...
- 阻止冒泡在浏览器的兼容问题
// 情景就是一个点击事件我想阻止冒泡,同时需要兼容ie的浏览器toogle(event ) {event || (event = window.event) event.stopPropagatio ...
- JavaScript阻止冒泡函数
function stopPropagation(e){e = e || window.event;if(e.stopPropagation){//W3C阻止冒泡的方法e.stopPropagatio ...
- Javascript阻止冒泡方法
阻止冒泡的方法 w3c的方法:(火狐.谷歌.IE11) event.stopPropagation() IE10以下则是: event.cancelBubble= true
- javascript阻止冒泡和默认行为
js冒泡和捕获是事件的两种行为,使用event.stopPropagation()起到阻止捕获和冒泡阶段中当前事件的进一步传播.使用event.preventDefault()可以取消默认事件. 在说 ...
- JavaScript 阻止冒泡和捕获
防止冒泡和捕获: W3C的方法是e.stopPropagation(), IE的方法是:e.cancelBubble = true. 取消默认事件:W3C的方法是e.preventDefault(), ...
- 如何阻止浏览器的默认行为?
如何阻止浏览器的默认行为? 什么是默认行为? 默认行为,就是不用我们注册,其本身就存在的事情 比如我们点击鼠标右键的时候,会自动弹出一个菜单 比如我们点击 a 标签的时候,我们不需要注册点击事件,他自 ...
- jquery阻止冒泡事件行为发生
<div οnclick="a()"> <p οnclick="b()"></p> </div> div和p元素 ...
最新文章
- docker常用命令详解
- 转:IE iframe不刷新的问题之完美解决
- define 函数定义注意
- php 对接 asp,PHP模拟asp中response类实现方法
- SAP Analytics Cloud model数据的转置功能
- JBoss EAP 7快速入门
- basic knowledge
- 启航RPA卓越生态联盟,艺赛旗打造最强RPA产业生态圈...
- QT新建项目显示项目未配置的原因与解决方案
- 数据库:mysql内置功能-函数
- pytorch中lr_scheduler的使用
- 数据结构笔记(十八)-- 树的定义和基本术语
- linux能力集机制,linux能力机制
- ENVI5.3下载和安装
- 计算机网络第七版1-3
- 荷兰国旗问题+快速排序
- visio增加连接点
- 本周(12.23-12.29)半价电子书 1
- u盘超级加密3000使用方法
- 干货|软件开发,小步真能快跑吗?
热门文章
- Android开发笔记(一百三十七)自定义行为Behavior
- 互联网公司面试必问的mysql题目
- CentOS7单独安装Apache Bench压力测试工具
- python3 连接数据库~
- Winform文件下载之WebClient
- jquery1.9+获取append后的动态元素
- 【iOS-Cocos2d游戏开发之二十一 】自定义精灵类并为你的精灵设置攻击帧(指定开始帧)以及扩展Cocos2d源码的CCAnimation简化动画创建!...
- (2)把BlackBerry作为插件安装到已有的Eclipse中
- The DotNet Garbage Collection
- 技术:叫我怎么爱上你