(注意:下面更新1-5)
我有一个基于Twitter-Bootstrap的响应式网页,页面左上角有一个矩形区域完全不可用,但仅在Mobile Safari上(我没有在Android上测试)。
不可用,定义如下:
- 死区内的各种按钮无法点击
- 在死区中上下滑动不会滚动页面。
我添加了以下代码:
$('*').click(function(){
console.log($(this));
});
我发现当我打开移动版Safari的JS控制台时,死区向上偏移了与控制条像素高度相等的距离!也就是说,死区已经缩小了。此外,控制台记录了所有点击,除了在死区内执行的点击。
更新#1:
根据评论的建议,我...
1)再次检查了固定位置的元素:
$('*').click(function() {
console.log('checking for fixed elements...');
$('*').each(function() {
if ($(this).css('position') == 'fixed') {
console.log($(this));
}
})
});
事实证明,我的Bootstrap模态框在移动设备上都是固定位置。我移除了所有模态框,问题仍然存在。
2) 添加以下CSS代码....
* { outline: 1px solid red; }
以下是 iPhone 的屏幕截图。(蓝色框是我用 Photoshop 后期添加的,以模拟“死区”)...
更新 #2: 好吧,这太荒谬了。我开始从我的代码中剥离一些东西。我最终得到了以下内容,并且问题仍然存在!...
<html>
<head>
</head>
<body>
</body>
</html>
更新 #3: 这很可能是 Safari 的 bug,与我的网页无关(参见下面的更新 #2)。我强制关闭了 Safari,重新打开后问题消失了。
更新 #4: 问题又出现了 :( 可能这确实与我的网页有关,而不是 Safari 的偶然故障。然而,它似乎是随机发生的... 强制关闭浏览器可以暂时解决它,直到它再次出现。
更新 #5: 一旦“死区”出现,在导航到另一个网页后,“死区”仍然存在。
* { opacity: 0.5; outline: 1px solid red; }
的CSS进行调试? - biziclop