六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 40|回复: 0

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

[复制链接]

升级  76%

50

主题

50

主题

50

主题

秀才

Rank: 2

积分
164
 楼主| 发表于 2013-2-7 16:06:26 | 显示全部楼层 |阅读模式
一般的开发者都知道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" >        <!--<img src=mask.gif style="width:100%;height:100%;position:absolute" />-->        <div id="Div4"></div>    </div><div id="Div0" ></div></body></html>

by: 天堂左我往右
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表