jQuery高级之能力检测

1.取消事件冒泡


具体效果:点击小div不触发大div的事件
具体代码如下
<script type="text/javascript" src="js/jQuery1.11.1.js"></script>
<style type="text/css">
#mybigdiv {
	width: 300px;
	height: 300px;
	border: 1px solid red;
}

#myid {
	width: 100px;
	height: 100px;
	border: 1px solid red;
}
</style>

<script type="text/javascript">
			
			   
				  //取消事件冒泡
				  //第一道能力检测:分浏览器
				 
				 /*
				  event=event||window.event;
				   if(event.stopPropagation){
					   event.stopPropagation();
				   }else{
						event.cancelBubble=true;
				 }*/
				 
				
				$(function(){
					//给大div注册事件
					$("#mybigdiv").click(function(){
						alert('我是大div');
					});
					
					//小div
					$("#myid").click(function(event){
						alert('我是小div');
						//UI工程师  能力检测
						//判定浏览器引擎是IE还是其他浏览器(第一道能力检测)
				 	  event=event||window.event;
					//第二道能力检测    
					//阻止事件冒泡 
					   if(event.stopPropagation){//非IE浏览器  chrome
					   	
						   event.stopPropagation();
					   }else{
					   	//IE浏览器
							event.cancelBubble=true;
					 }
						});
				});
				
		</script>
</head>
<body>
	<div id="mybigdiv">
		我是大div
		<div id="myid">我是小div</div>
	</div>
</body>

2阻止之后事件的继续


具体效果:阻止超链接访问百度页面
具体代码如下
<script type="text/javascript" src="js/jQuery1.11.1.js"></script>
<script type="text/javascript">
			
			$(function(){
			//获取使用事件的对象
				$("#myhref").click(function(event){
					//能力检测
					//判断浏览器是IE浏览器还是非IE浏览器
				event=event||window.event;
				//阻止事件的继续
				if(event.preventDefault){  //非IE下内核 webkit引擎
					event.preventDefault();
				}else{
					event.returnValue=false; //IE引擎
				}
				
				});
			});
				
			
		</script>

</head>
<body>
	<a id="myhref" href="http://www.cnblogs.com">去百度</a>
</body>



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章