2013-07-18 10 views
5

私はdivをタッチするとスクロールできない単純なHTMLページを持っています。このページを見つけることができますhereモバイルデバイスのスクロールを無効にする

このページをfirefoxのようなデスクトップブラウザで開くと、divをクリックするとスクロールできなくなります。

今、私はAndroidのようにモバイルでこの動作が必要です。実際にはAndroidでこのページを開くと、どの場合でもスクロールできます。

私の例では色のため申し訳ありません

;)

+1

ChromeとFirefoxの両方でスクロールできます – ediblecode

+0

マウスをクリックしたままにするとスクロールできなくなります – Podelo

答えて

8

私はあなたのモバイルデバイス上でスクロールを無効にする方法を求めていると思う:

あなたがtouchstarttouchmoveのイベントリスナーを追加することができます。次に、これらのイベントが発生すると、ブラウザがタッチデバイスであるかどうかを検出するためにModernizrを使用します。明らかにすべての携帯電話がタッチデバイスではなく、高解像度のタッチデバイスがあるので、自由に追加するか、またはifステートメントに触れることができます。

document.addEventListener('touchstart', this.touchstart); 
document.addEventListener('touchmove', this.touchmove); 

function touchstart(e) { 
    e.preventDefault() 
} 

function touchmove(e) { 
    e.preventDefault() 
} 

それとも、単にModernizrを使用して、CSSを使用します。

html.touch body { 
    overflow:hidden; 
} 

をそして効果的にあなたや文を持っているメディアクエリを追加します。

+0

回答ありがとう、イベントtouchstartとtouchmoveは正常に機能しますが、preventDefaultメソッドは機能しません。 ModernizrのCSSコードも機能しません。モバイルデバイスでテストできるように自分のコードを更新しました。 – Podelo

+0

@Podeloアップデートを見て、パラメータとして 'e'を入れているのを忘れました – ediblecode

+0

ホーはちょうど...ありがとうございました。 – Podelo

関連する問題