ie右键菜单bug

如果多层(z-index不同)div同样大小,或者最底层的div大小比上层的大,而且底层div包含了img标签,其上层div右键菜单在ie上会默认为img所在层的菜单,造成本身的菜单无法弹出。

有点绕,可以到web.qq.com测试(至少本日志发布时间该问题还存在),在桌面空白的地方右键其他浏览器可以正常弹出菜单,而ie却不行。如下面的页面,正常会弹出div20,ie则弹出div0。

<div id="div0" style="left:0; top:0; height:400px; width: 600px; position: absolute;z-index: 0" οncοntextmenu="alert('div0')">
        <img src="http://www.iteye.com/images/user-logo.gif"  style="height:100%;width:100%;"/>
    </div>
    <div id="div20" style="position: absolute; left:0; top:0; z-index: 20; height:400px;width: 600px;"  οncοntextmenu="alert('div20')">1</div>
    <div  id="div10" style="position: absolute; text-align:center; left:0; top:0; z-index: 10; height:400px;width: 600px; color: red"  οncοntextmenu="alert('div10')">2</div>

 一直困扰的一个问题,今天静下心来调试了一下。发现是background的问题,ie右键按z-index计算,对未设置background的div如果下层有img标签则会使用img标签所在层的右键菜单,所以对div20设置一个background(不能为transparent),加颜色,或者可以设置个透明图片即可解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值