2013-03-19 103 views
0

我見過很多涉及停止所有touchmove事件的解決方案。然而,這不適用於我,因爲我的應用程序涉及繪圖畫布。有沒有辦法確保用戶不能滾動,同時保留其他touchevents? --Ashley禁用滾動網頁iPad

回答

1

您可以在您的繪圖處理程序中使用e.preventDefault(),或者在DOM樹的後面附加一個處理程序。這只是防止要滾動的touchmove的默認行爲。

$('body, html').on('touchmove', function(e){ 
    e.preventDefault(); 
}); 

您仍然可以在您的繪圖畫布上處理touchmove事件。

另一種選擇是在您的CSS中設置overflow:hidden - 但這取決於您的頁面大小。

0

我想你應該看看這個答案.. Prevent touchmove default on parent but not child

把你的畫布容器和停止滾動父。

$('body').delegate('#fix','touchmove',function(e){ 

    e.preventDefault(); 

}).delegate('.scroll','touchmove',function(e){ 

    e.stopPropagation(); 

});