`
lixinlixin2008
  • 浏览: 149852 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ie里两个div重叠时的事件穿透

阅读更多
一般的开发者都知道ie6,7,8中如果两个div有层叠关系,上层的div背景透明,且没有内容,那么下层div在某些情况下就可以响应点击在上层的事件,也就是说,上层的div被穿透了.
   
    一般来说,下层div可以响应点击的区域如下:
    1,如果下层div有边框的话,边框可以响应点击
    2,背景图和背景色都不能响应点击
    3,内容可以响应点击,比如文本,图片等


    另外:再有一种情况,如果外层div有click事件,点击上层div,这时有以下几种情况:
    1,如果点击的下层div没有背景,这时候click事件不会响应
    2,如果点击的下层div有背景,则上层div会响应click事件
    3,如果点击在下层div的border上或者内容上,则上层div不响应click事件,下层div的click被触发

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style>

*{
    margin: 0px;
    padding: 0px;
}
#Div0 {
    top:0px ;
    left: 0px;
    width: 800px;
    height:600px;
    border: 3px solid red;
    position : absolute;
    z-index : 20;
}

#Div1 {
    width: 500px;
    height:300px;
    border: 3px solid blue;
    position : absolute;
    top:0px ;
    left: 0px;
    z-index : 0;
    background-color: yellow;
}

#Div4{
    width: 200px;
    height:300px;
    background-color: green;
    background-image: url(a.png)
}

</style>
</head>


<body> 
    一般的开发者都知道ie6,7,8中如果两个div有层叠关系,上层的div背景透明,且没有内容,那么下层div在某些情况下就可以响应点击在上层的事件,也就是说,上层的div被穿透了.
    
    一般来说,下层div可以响应点击的区域如下:
    1,如果下层div有边框的话,边框可以响应点击
    2,背景图和背景色都不能响应点击
    3,内容可以响应点击,比如文本,图片等


    另外:再有一种情况,如果外层div有click事件,点击上层div,这时有以下几种情况:
    1,如果点击的下层div没有背景,这时候click事件不会响应
    2,如果点击的下层div有背景,则上层div会响应click事件
    3,如果点击在下层div的border上或者内容上,则上层div不响应click事件,下层div的click被触发
    <div id="Div1" onclick="alert(11)">
        <!--<img src=mask.gif style="width:100%;height:100%;position:absolute" />-->
        <div id="Div4"></div>
    </div>


<div id="Div0" onclick="alert(22)"></div>


</body>

</html>


by: 天堂左我往右
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics