3

モバイルデバイス、iPhone、iPadの向きの変化を検出しようとしています。

以下のコードを使用しています。

 $(window).bind("orientationchange", function (event) {
    alert(event.orientation);

    position = $.event.special.orientationchange.orientation();

    event.preventDefault();
});

ここで、alert の値、つまり event.orientation が「未定義」と表示されています。ここで、向きの検出をサポートしている投稿を読んだことがあります。また、jquery のドキュメントでは、「window.orientation」の代わりに「event.orientation」をより適切に使用するように書かれていますが、これらのいずれも必要な結果を返さず、「未定義」を返しています。

だから私は "$.event.special.orientationchange.orientation();" を使用しました 方向を検出します。

しかし、jquery のドキュメントで定義されている機能を event.orientation として使用したいと考えています。リンクのように

また、私のコードでは、上記のリンクにあるように、「$.mobile.orientationChangeEnabled」が true に設定されています。

これに対する可能な解決策を提案してください。

どんな助けでも大歓迎です。

前もって感謝します。

4

5 に答える 5

2

古い質問ですが、他の誰かがそれに出くわした場合に備えて、window.orientation を使用する必要があり、それは度数で表されます。

portrait: 0
portrait (upside down): 180 
landscape: (counterclockwise): 90
landscape: (clockwise): -90
于 2015-04-27T16:15:50.840 に答える
0

これを試して:

$(window).bind('orientationchange',function(){
    if(event.orientation == 'portrait'){
        alert('portrait');
    }
    else if(event.orientation == 'landscape') {
        alert('landscape');
    }
});
于 2012-12-03T14:01:11.060 に答える