[英]iOS Safari - disable scroll / bounce but retain zoom
我正在為iOS Safari創建一個網絡應用,但遇到了一些障礙。
我的網絡應用僅占用1024x768的屏幕空間,因此不需要滾動,但它確實需要能夠縮放(它是PDF注釋器)。
我使用了一個名為iNoBounce( https://github.com/lazd/iNoBounce/ )的插件,該插件通過在touchmove / touchstart事件上觸發一個evt.preventDefault()
來成功刪除頁面上的滾動。 這很棒。
但是,這樣做是刪除縮放事件以及滾動事件。 有沒有辦法刪除滾動/彈性彈跳,但保留iOS野生動物園的縮放?
非常感謝
我設法通過偵聽觸摸事件對象上的一些值來解決此問題,特別是更改了changedTouches.length
和scale
。
首先,我在文檔頂部為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.