2011-07-06 6 views
4

ウェブアプリケーションのオフセットスクロールを無効にするにはどうすればよいですか?iOSウェブアプリケーションオフセットスクロールを無効にする

私は濃い灰色の領域を意味 http://i.stack.imgur.com/a3Rt4.png

Disable scrolling in an iPhone web application? 私はこれを試してみたが、それはすべての時間を動作しませんでした、それだけで、時には作品、それが突然停止し、私は再びスクロールすることができます。

答えて

12
document.body.addEventListener('touchmove', function(e){ e.preventDefault(); }); 

作品が、体がスクリーンの100%の高さ

+1

あなたの体の高さが携帯電話の目に見える端を越える場合、これは災害です。それは垂直または水平にスクロールさせません。 –

0

これを実現する方法はいくつかありますが、どれも文書化されていません。彼らは現在、UIWebViewのサブビューを検索してプロパティを変更しています。これらのサブビューはすべて文書化されていないため、結果が異なる場合があります。それは確かに物事を行うための理想的な方法ではなく、あなたが結果を変えることができることがわかったので。あなたは(再び、文書化されていない)のWebビュー内に含まれているスクロールビューを手に入れることができた場合は、オフセットスクロール/バウンスを無効にすることができます - このリンクは有用証明することがあります。

http://blog.andrewpaulsimmons.com/2010/02/controlling-uiscrollview-in-uiwebview.html

のiOS 5は、公式を持っていますこの問題を修正してください。ただし、devforums.apple.comに問い合わせるか、新しいドキュメントを読む必要があります。なぜなら、iOS 5に関連するすべてが未公開のままであり、ここでは実際には議論することができないからです。

+0

ているときに、スクロールから身体を防止するために、このソリューションを書きましたが、thatsの? senchaは、何らかの形で、デモでobjective-cなしで、もし誤解されていなければそれを行います。 – antpaw

+1

私はこの回答がdownvoteを受け取った理由を知らない。 UIWebViewのサブビューを使って検索できるという事実は、見返りには明白ですが、今でもStackOverflowから得た最も貴重な知識の1つです。 –

3

を持っている。これは完全にすべてのタッチムーブイベントを無効にしてください。

<script type="text/javascript"> 
    function blockMove() { 
     event.preventDefault() ; 
} 
</script> 

<body ontouchmove="blockMove()"> 

これは、より自然な感じを与えて画面を固定します。また、スクロール可能な領域を無効にします。スクロール可能な領域を維持し、上部と下部にラバーバンド効果を残したい場合は、http://cubiq.org/iscrollを参照してください。

+1

[link](http://flow.bz/uaIgUn)は死んでいます。 –

+0

これはちょうどiScrollへのリンクです、ありがとう! – kaleazy

関連する問題