1

safari などのモバイル デバイスのブラウザーでは、ユーザーが画面をドラッグすると、Web サイト全体が指に沿って移動します。したがって、一般的な解決策は次のとおりです。

addEventListener('touchmove', function(e) { e.preventDefault(); }, true);

これにより、 touchmove イベントが防止されます。ただし、モバイル デバイスのブラウザにはスクロール バーがないため、ユーザーが jquery ui のダイアログ ボックスをスクロールしたい場合は、 touchmove イベントを許可する必要があります。このステートメントは、そのイベントをブロックします。

addEventListener('touchmove', function(e) { 
if (e.target.id != 'dialog' ) 
e.preventDefault(); 
return false;
}, true);

次に、このステートメントを追加して、ダイアログ ボックスをスクロールできるようにします。ただし、このソリューションには問題があります。背景がドラッグ可能になり、ユーザーの指で再び移動するためです。この問題を解決するにはどうすればよいですか? ありがとう。

4

1 に答える 1

3

これを一日中扱っていて、この解決策を見つけました。ipad/iphone/ipod の safari mobile でダイアログをスクロールする場合は、これを使用する必要があります。

if (/iPhone|iPod|iPad/.test(navigator.userAgent)) {
            $('iframe').wrap(function () {
                var $this = $(this);
                return $('<div />').css({
                    width: $this.attr('width'),
                    height: $this.attr('height'),
                    overflow: 'auto',
                    '-webkit-overflow-scrolling': 'touch'
                });
            });
        }
于 2013-01-22T14:48:51.063 に答える