死亡的矩形 - 移动Safari

Gil*_*man 20 javascript jquery mobile-safari twitter-bootstrap

(注意:下面的更新1-5)

我有一个基于Twitter-Bootstrap的响应式网页,页面的左上角有一个矩形区域,完全死了,但只在Mobile Safari上(我没有在Android上测试过).

死了,定义:

  • 无法单击死区中的各种按钮
  • 在死区刷卡向上/向下也没有滚动页面向上/向下.

我添加了以下代码:

$('*').click(function(){ 
  console.log($(this)); 
});
Run Code Online (Sandbox Code Playgroud)

...当我激活移动safari JS控制台时,我注意到死区已经向上移动,等于控制台条的像素高度!.也就是说,死区缩小了.此外,控制台记录了死区中执行的所有点击之外的所有点击.


更新#1:

根据评论中的建议我......

1)双重检查固定位置元素:

        $('*').click(function() { 
            console.log('checking for fixed elements...');
            $('*').each(function() {
                if ($(this).css('position') == 'fixed') {
                    console.log($(this));
                }
            })
        });
Run Code Online (Sandbox Code Playgroud)

...原来我的Bootstrap 模态对话框都是移动中的固定位置.我删除了所有对话框并且问题仍然存在.

2)添加了以下CSS代码....

* { outline: 1px solid red; }
Run Code Online (Sandbox Code Playgroud)

这是iPhone截图.(之后我在photoshop中添加了蓝框以接近死区)......

死区截图


更新#2:好的,这太荒谬了.我开始从我的代码中删除东西.这就是我最终得到的,问题仍然存在!...

<html>
<head>
</head> 
<body>


</body>
</html>
Run Code Online (Sandbox Code Playgroud)

更新#3:这可能是一个safari bug,与我的网页无关.(见下面的更新#2).我强行关闭野生动物园,重新开放时问题就消失了.


更新#4:问题再次出现:(也许这毕竟是我的网页,而不是野生动物侥幸.但是,它似乎是随机发生的......强制关闭浏览器会将其修复一段时间,直到它再次出现.


更新#5:一旦死区出现,在导航到另一个网页后,死区仍然存在.


小智 1

你完全删除了所有模态吗?我之前遇到过这样的问题,问题是我的模态框隐藏了类,如果没有这个,模态框就会褪色到不透明度0

示例:class="modal hide fade"