2013-03-08 97 views
2

我想禁用彈跳效果(彈性滾動)ipad/iphone safari瀏覽器。並嘗試使用touchmove防止默認值,但這阻止了整個滾動。我希望能夠滾動內容,但只是防止反彈。我的頁眉和頁腳已修復。 一個想法?防止在ipad/iphone safari中彈性滾動,但允許內容滾動

+0

我知道'-webkit-溢出滾動:觸摸;'啓用彈性滾動...您可以嘗試將其設置爲「auto」來關閉它。適用於默認情況下沒有彈性滾動的元素。 – 2013-03-08 06:41:41

+0

@TimMedora對於哪個控件應用該屬性,我嘗試將其應用於我的內容div,但顯示錯誤「未知屬性名稱」 – 2013-03-08 09:29:36

+0

您可以嘗試將其應用於CSS中的整個身體元素......我不知道不知道這是否會起作用;只是想我會提到它。更有可能工作的是隱藏body的溢出,並用'overflow:auto'添加另一個元素。默認情況下,只有身體的捲動是彈性的;新元素應該滾動而不反彈。 – 2013-03-08 09:36:41

回答

1

隨着移動Safari iOS8上(爲AppleWebKit/600),則可以使用以下如果發生在(向下滑動)的頂部滾動彈跳檢測:

window.onscroll =函數(){ 如果(document.body的.scrollTop < 0){// 做一些 }}

我有玩,看看我能找到一個乾淨的方式「中斷」的反彈,但並沒有發現什麼好東西。

請注意window.onscroll解決方案不會在UIWebView中工作,因爲我認爲onScroll事件不會在UIWebView中被觸發,但是這不是問題,因爲UIWebView沒有反彈!您可以使用,如果對UIWebView的使用WKWebView https://stackoverflow.com/a/30495399/436776

我就是用這個代碼來測試(必須複製並打開全屏測試在iOS上)檢測:http://jsbin.com/tocako/edit