簡體   English   中英

iOS Safari-禁用滾動/跳動但保留縮放

[英]iOS Safari - disable scroll / bounce but retain zoom

我正在為iOS Safari創建一個網絡應用,但遇到了一些障礙。

我的網絡應用僅占用1024x768的屏幕空間,因此不需要滾動,但它確實需要能夠縮放(它是PDF注釋器)。

我使用了一個名為iNoBounce( https://github.com/lazd/iNoBounce/ )的插件,該插件通過在touchmove / touchstart事件上觸發一個evt.preventDefault()來成功刪除頁面上的滾動。 這很棒。

但是,這樣做是刪除縮放事件以及滾動事件。 有沒有辦法刪除滾動/彈性彈跳,但保留iOS野生動物園的縮放?

非常感謝

我設法通過偵聽觸摸事件對象上的一些值來解決此問題,特別是更改了changedTouches.lengthscale

首先,我在文檔頂部為zoomLevel設置了一個全局變量var zoomLevel = 1

接下來,我將evt.preventDefault()替換為:

if(evt.changedTouches.length === 1 && zoomLevel <= 1){
    evt.preventDefault();
}
if(evt.changedTouches.length > 1){
    zoomLevel = evt.scale;
}

這將檢查正在使用的手指數,如果頁面比例不是100%,則將相應地執行操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM