单击页面顶部时,阻止Mobile Safari将地址栏滚动到视图中

时间:2013-08-21 14:49:36

标签: iphone mobile safari

我有一个加载执行window.scrollTo(0, 1);的webapp来隐藏正在运行的地址栏。

其中一个元素是具有top: 0固定位置的标题,使其保持在视口的最顶端。在此标题上有一些可单击的按钮,当您尝试单击它们时,它不会执行操作,而是将地址栏滚动到视图中。 这是屏幕顶部15-20像素点击的默认safari行为。

我试图捕获点击次数并取消事件,取消冒泡,防止默认等。其中任何一项似乎都无效。

我尝试的代码是添加一个带有id test的div:

#test {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 20px;
}

document.getElementById("test").addEventListener("click", function (event) {
    event.preventDefault();
    event.stopPropagation();
}, false);

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我用它来阻止移动设备上的默认设置:

https://github.com/alexblack/google-fastbutton

$('#your-button').fastClick(function(e) {
  e.preventDefault();

});

未显示地址栏。非常整洁的UX也