這次的場景不一樣
結構是彈窗篩選框,篩選維度多一些會出現滾動條,內容少一些就沒有滾動條
問題1
問題2
如果彈出框內容較少時,沒有撐出滾動條情況下,手指繼續滾動會出現底部內容滾動(滾動穿透)
解決方式
=> 如果篩選框不含滾動就直接@touchmove.prevent就可以
=> 動態包含滾動條的彈窗穿透問題解決思路是:判斷篩選框是否撐出滾動條,如果是,設定禁止滾動事件,否則正常
**如下
篩選框滾動內容的最外層div 新增touchmove事件
ps: 我看到很多例子是用下面** 我嘗試了 並沒有效果 ,如果單獨配置到含有滾動條的頁面感覺不是很有共性,所以自己研究了上面的解決方式,不知道會不會有其他bug。如果有,歡迎一起討論,扔磚指正
bodyscroll (event) ,/*** 禁止頁面滾動,解決彈框出現時 ios 上滾動穿透的問題
*/forbidbodyscroll () ,
/*** 解除禁止滾動,解決彈框出現時 ios 上滾動穿透的問題
*/allowbodyscroll () ,
滾動穿透問題
眾所周知,移動端有fixed遮罩或彈出層時,螢幕上滑動,後面的背景也會跟著滾動,強迫症的我總是覺得不舒服。然而也沒有找到完美的解決方法。這裡說說兩種能用的方法。1 遮罩或彈層沒有滾動的內容時 vue裡提供了乙個很好用的解決辦法 touchmove.prevent 如果不用vue的話,那就監聽touc...
移動端滾動穿透問題
一 body。一般pc端這樣就行了,但在移動端可就不行了,因為他有touchmove。二 可以阻止彈層的touchmove事件,但如果你的彈層內的內容需要滑動,這種方法pass document.body.addeventlistener touchmove function e 三 後來找到乙個比...
ios滾動穿透問題的兩個解決方案
1 當觸控元素有 webkit overflow scrolling樣式時,若觸控元素有滾動條,則不會發生滾動穿透,若觸控元素無滾動條,則touchmove事件依然會穿透至檢視下層帶有 webkit overflow scrolling的元素上。一般彈框是這種情況,這也是需要主要處理情況,而且這並不...