簡體   English   中英

如何在不檢查設備的情況下禁用移動瀏覽器上的滾動?

[英]How to disable scroll on mobile browser without checking device?

有趣的問題:

如何在移動設備上禁用滾動但在代碼中無需檢查移動瀏覽器 o 等。

我正在編寫網站的移動版本。 在網絡瀏覽器中,我的功能運行良好!

當我調用 Scroll("off); 它停止。但在移動設備 (ios) 上我仍然可以觸摸移動內容。

有人可以幫助修改這種情況下的功能嗎? 結果必須是:在網絡上沒有滾動,在移動設備上沒有觸摸移動。

這是我所擁有的:

function Scroll(str)
    {
      var scrollPosition = [
        self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
        self.pageYOffset || document.documentElement.scrollTop  || document.body.scrollTop
      ];

      if(str=="off")
      {
        var html = jQuery("html");
        html.data("scroll-position", scrollPosition);
        html.data("previous-overflow", html.css("overflow"));
        html.css("overflow", "hidden");
        window.scrollTo(scrollPosition[0], scrollPosition[1]);
      }
      else
      {
        var html = jQuery("html");
        var scrollPosition = html.data("scroll-position");
        html.css("overflow", html.data("previous-overflow"));
        window.scrollTo(scrollPosition[0], scrollPosition[1]);
      }
    }

解決辦法是:

$('body').bind('touchmove', function(e){e.preventDefault()}); 
$("body").unbind("touchmove");  

暫無
暫無

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

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