发布:2021/4/17 13:42:02作者:管理员 来源:本站 浏览次数:1727
首先看下JS的事件模型,JS事件模型为向上冒泡,如onclick事件在某一DOM元素被触发后,事件将跟随节点向上传播,直到有click事件绑定在某一父节点上,如果没有将直至文档的根。
阻止冒泡:1、stopPropagation()对于非IE浏览器。2、cancelBubble属性为true,对于IE浏览器,
而Jquery已经有兼容浏览器的方法,event.stopImmediatePropagation();
|
<!DOCTYPE html>
<html>
<head>
<meta charset= "utf-8" />
<script type= "text/javascript" src= "js/jquery-1.4.4.min.js" ></script>
<title></title>
</head>
<style type= "text/css" >
body
{
background-color: #999999;
}
#myDiv
{
background-color: #FFFFFF;
width:250px;
height:250px;
display:none;
}
</style>
<body>
<input id= "btn" type= "button" value= "显示DIV" />
<div id= "myDiv" >
This is a div;
</div>
</body>
<script type= "text/javascript" >
var myDiv = $( "#myDiv" );
$( function ()
{
$( "#btn" ).click( function (event)
{
showDiv(); //调用显示DIV方法
$(document).one( "click" , function ()
{ //对document绑定一个影藏Div方法
$(myDiv).hide();
});
event.stopPropagation(); //阻止事件向上冒泡
});
$(myDiv).click( function (event)
{
event.stopPropagation(); //阻止事件向上冒泡
});
});
function showDiv()
{
$(myDiv).fadeIn();
}
</script>
|
© Copyright 2014 - 2025 柏港建站平台 ejk5.com. 渝ICP备16000791号-4