3

window.scrollTo(0, 1);動作しているアドレスバーを非表示にするためにロード時に実行する webapp があります。

要素の 1 つは、固定位置のヘッダーでtop: 0あり、ビューポートの最上位に留まります。このヘッダーには、クリック可能なボタンがいくつかあります。クリックしようとすると、アクションを実行する代わりに、アドレス バーがスクロールして表示されます。これは、画面の上部 15 ~ 20 ピクセルをクリックした場合のデフォルトのサファリ動作です。

クリックをキャプチャしてイベントをキャンセルし、バブリングをキャンセルし、デフォルトを防止しようとしましたが、どれも機能していないようです。

私が試したコードは、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);

何か案は?

4

1 に答える 1