js阻止冒泡及jquery阻止事件冒泡示例介绍


Posted in Javascript onNovember 19, 2013

js阻止冒泡
在阻止冒泡的过程中,W3C和IE采用的不同的方法,那么我们必须做以下兼容。

function stopPro(evt){ 
var e = evt || window.event; 
//returnValue如果设置了该属性,它的值比事件句柄的返回值优先级高。把这个属性设置为 fasle, 
//可以取消发生事件的源元素的默认动作。 
//window.event?e.returnValue = false:e.preventDefault(); 
window.event?e.cancelBubble=true:e.stopPropagation(); 
}

或者:
function cancelBubble(e) { 
var evt = e ? e : window.event; 
if (evt.stopPropagation) { 
//W3C 
evt.stopPropagation(); 
} 
else { 
//IE 
evt.cancelBubble = true; 
}
 
JQuery 提供了两种方式来阻止事件冒泡。
方式一:event.stopPropagation();
$("#div1").mousedown(function(event){ 
event.stopPropagation(); 
});

方式二:return false;
$("#div1").mousedown(function(event){ 
return false; 
});

Jquery阻止默认动作即通知浏览器不要执行与事件关联的默认动作。
例如:
$("a").click(function(event){ 
event.preventDefault(); //阻止默认动作即该链接不会跳转。 
alert(4);//但是这个还会弹出 
event.stopPropagation();//阻止冒泡事件,上级的单击事件不会被调用 
return false;//不仅阻止了事件往上冒泡,而且阻止了事件本身 
});

但是这两种方式是有区别的。return false 不仅阻止了事件往上冒泡,而且阻止了事件本身。event.stopPropagation() 则只阻止事件往上冒泡,不阻止事件本身。
场景应用:Google 和 百度的联想框,当弹出下拉列表,用户在下拉列表区域按下鼠标时需要让光标仍然保持在文本输入框。
Jquery案例:
<script src="js/jquery-1.4.3.js"></script> 
<script type="text/javascript"> 
$(function(){ 
$("#aa").click(function(event){ 
alert("aa"); 
event.preventDefault(); 
event.stopPropagation(); 
alert(3); 
}); 
$("#ee").click(function(){ 
alert("ee"); 
}); 
$("a").click(function(event){ 
event.preventDefault(); 
alert(4); 
event.stopPropagation(); 
return false; 
}); 
}); 
</script> 
</head> 
<body> 
<div id="ee"> 
aaaaaaa 
<input id="aa" type="button" value="test" /> 
<a href="http://baidu.com">baidu.com</a> 
</div> 
</body>

js案例:
function tt(){ 
alert("div"); 
} 
function ttt(){ 
var e = arguments.callee.caller.arguments[0] || window.event; 
window.event?e.returnValue = false:e.preventDefault(); 
alert(3); 
window.event?e.cancelBubble:e.stopPropagation(); 
alert(4); 
} 
</script> 
</head> 
<body> 
<div onclick = "tt();"> 
ccccc 
<a href="http://baidu.com" onclick="ttt();">baidu.com</a> 
</div>
Javascript 相关文章推荐
javascript模拟枚举的简单实例
Mar 06 Javascript
js对象内部访问this修饰的成员函数示例
Apr 27 Javascript
jquery+css3打造一款ajax分页插件(自写)
Jun 18 Javascript
jQuery简单几行代码实现tab切换
Mar 10 Javascript
JavaScript获取数组最小值和最大值的方法
Jun 09 Javascript
简单实现限制uploadify上传个数
Nov 16 Javascript
JavaScript中函数声明与函数表达式的区别详解
Aug 18 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
Mar 27 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
Jun 12 Javascript
JS抛物线动画实例制作
Feb 24 Javascript
浅谈Vue中render中的h箭头函数
Nov 07 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
May 18 Javascript
禁止ajax缓存获取程序最新数据的方法
Nov 19 #Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
Nov 19 #Javascript
jQuery控制iFrame(实例代码)
Nov 19 #Javascript
jquery 检测元素是否存在的实例代码
Nov 19 #Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
Nov 19 #Javascript
js 剪切板的用法(clipboardData.setData)与js match函数介绍
Nov 19 #Javascript
JavaScript中instanceof运算符的用法总结
Nov 19 #Javascript
You might like
php学习 函数 课件
2008/06/15 PHP
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
PHP调用.NET的WebService 简单实例
2015/03/27 PHP
php实现爬取和分析知乎用户数据
2016/01/26 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
2016/03/21 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
php 如何设置一个严格控制过期时间的session
2017/05/05 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
IE7中javascript操作CheckBox的checked=true不打勾的解决方法
2009/12/07 Javascript
给页面渲染时间加速 干掉Dom Level 0 Event
2012/12/19 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
轻松实现jquery手风琴效果
2016/01/14 Javascript
BootStrap响应式导航条实例介绍
2016/05/06 Javascript
DIV+CSS+jQ实现省市联动可扩展
2016/06/22 Javascript
基于Angular.js实现的触摸滑动动画实例代码
2017/02/19 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
JavaScript错误处理和堆栈追踪详解
2017/04/18 Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
2017/08/15 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
python实现人人网登录示例分享
2014/01/19 Python
Python实现抓取百度搜索结果页的网站标题信息
2015/01/22 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
Python爬虫定时计划任务的几种常见方法(推荐)
2021/01/15 Python
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
捷克家电和家具购物网站:OKAY.cz
2020/07/23 全球购物
幼儿园教师节活动方案
2014/02/02 职场文书
《雨点》教学反思
2014/02/12 职场文书
三八妇女节活动主持词
2014/03/17 职场文书
好的旅游活动方案
2014/08/19 职场文书
安全生产工作汇报材料
2014/10/28 职场文书
兴趣班停课通知
2015/04/24 职场文书
文明礼仪倡议书
2015/04/28 职场文书
离职告别感言
2015/08/04 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL