以前にも同様の問題が発生し、回避策を実際に理解できなかったため、iScrollなどのプラグインに依存することになりました。これは非常に単純なタスクなので、プラグインを含めることを拒否します。私が欲しいのは、iOSで水平スクロールを防ぐことです。これには、ページ上にある可能性があるが表示されていないコンテンツのラバーバンド効果が含まれます。
私が理解していることから、最初にラバーバンドを完全に無効にしてから、タッチスクロールをコンテナ要素(IDに「touch」を付けました)に適用する必要があります。これが正しいアプローチかどうかわかりませんか?
$(document).bind('touchmove', function(e) {
if (!e.target == '#touch') {
e.preventDefault();
}
});
#touchのスタイル
-webkit-overflow-scrolling: touch;
overflow: hidden;
height: 100%;
@media only screen and (max-width: 768px) {
width: 768px;
}
これにより、水平方向の幅が728ピクセルのままになるのを防ぐことはできませんが、ユーザーはスクロールして非表示のコンテンツを表示できます。アイデア?