2013-04-03 94 views
0

我想在按下按鈕時禁用滾動。我已經找到了this answer,它非常好 - 但用戶仍然可以通過在頁面上標記某些內容並將其拖動到瀏覽器的頂部/底部來進行滾動。通過拖動禁用滾動

此代碼重置儘可能快的滾動位置,但滾動仍是可見的(這解決方案似乎有點髒)

var pageYOffset = window.pageYOffset; 
setInterval(function() { window.scrollTo(0, pageYOffset) }, 1); 

回答

1

您可以通過滾動disabling text selection highlighting處於禁用狀態時嘗試。

試試這個fiddle

在disable_scroll()添加

$("html").addClass("diableSelection"); 

和enable_scroll()添加

$("html").removeClass("diableSelection"); 

其中.diableSelection將

.diableSelection { 
-webkit-touch-callout: none; 
-webkit-user-select: none; 
-khtml-user-select: none; 
-moz-user-select: none; 
-ms-user-select: none; 
user-select: none; 
} 
+0

謝謝!不幸的是,我的問題似乎超過了簡化:我的網站上有一個元素必須是可拖動的:/但那是我的錯,無論如何你回答了我的問題 – Christopher

+0

也許它是小提琴,但它不起作用:頁面卷軸向上/向下拖動我的鼠標在其區域外... – mike