我正在制作一个针对移动设备的基于 HTML/CSS 和 jQuery 的文件管理器。其中一部分涉及使用基于 CSS= 的模式对话框进行各种文件操作(复制、删除等)。
我实现了这样的模态对话框行为:
<div id="overlay">
<div id="modalBoxControls"><a href="#" id="modalBoxClose">[close]</a></div>
<div id="modalBox">
<div id="modalBoxContent"></div>
</div>
</div>
CSS是:
#overlay {
position: fixed;
left: 0px;
top: 0px;
width:100%;
height:100%;
text-align:center;
z-index: 1000;
background: ([semi-transparent png]);
display: none;
}
#modalBox {
width: 80%;
background-color: #fff;
margin: 0px auto;
opacity: 1;
}
我使用 jQuery通过调用元素来显示.fadeIn()
和隐藏它。.fadeOut()
overlay
到目前为止一切顺利 - 这在我的开发机器上的所有浏览器中都很好用。
然而,在我的 WP7(Samsung Omnia 7)上进行测试时,发生了一件相当奇怪的事情。模态对话框显示正常,它后面的页面被涂黑。但是点击(或点击)会通过#overlay
并激活它后面的任何东西,即使它完全覆盖了后面的所有东西并且它的 z-index 是 1000。
我还使用 Nick Stakenburg 的著名“Lightview”插件(一段经过良好测试和改进的代码)对此进行了测试,并在 WP7 上的 IE 上发现了相同的行为。
所以看起来这可能是浏览器本身的错误。
有谁知道任何解决方案?
编辑 - 带有问题示例的 jsFiddle
所以,在你的 WP7 设备中检查一下,看看即使文件顶部有覆盖层,仍然可以点击文件:http: //jsfiddle.net/michaelbromley/CHU76/