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" 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),加颜色,或者可以设置个透明图片即可解决。

你可能感兴趣的:(IE,右键菜单)