ie右键菜单bug
程序员文章站
2022-07-14 13:08:13
...
如果多层(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" oncontextmenu="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;" oncontextmenu="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" oncontextmenu="alert('div10')">2</div>
一直困扰的一个问题,今天静下心来调试了一下。发现是background的问题,ie右键按z-index计算,对未设置background的div如果下层有img标签则会使用img标签所在层的右键菜单,所以对div20设置一个background(不能为transparent),加颜色,或者可以设置个透明图片即可解决。
上一篇: 性能测试与调优
下一篇: jQuery定位IE9和IE10 BUG