2015-10-12 107 views
0

我正在使用以下代碼來檢查iPad的方向。只有當我旋轉設備或更改iPad的方向時,纔會調用此方法。如果以橫向模式啓動應用程序,並且當我導航到此屏幕時,下面的方法不會被調用。如何在不旋轉iPad的情況下檢測iPad的方向。使用javascript檢測iPad設備方向

$(window).bind('orientationchange', function (event) { 
    if (event.orientation == "landscape") { 
     set frame for landscape 
    } else { 
     set frame for portrait 
    } 
}); 
+1

使用'trigger'。這將觸發事件並使處理程序運行。 '$(窗口).trigger( 'orientationchange')'; – Tushar

+0

'window.innerHeight> window.innerWidth;'看起來像一個簡單的解決方案? – adeneo

+0

檢查這個答案 http://stackoverflow.com/questions/4917664/detect-viewport-orientation-if-orientation-is-portrait-display-alert-message-ad –

回答

0

我喜歡這個(我偷的):

if(window.innerHeight > window.innerWidth){ 
    alert("Please use Landscape!"); 
} 
0

這應該工作太:

$(window).bind('orientationchange', function(event) { 
    alert('new orientation:' + event.orientation); 
}); 
0
$(window).on('load orientationchange', function(event) { 
    if(event.orientation == "landscape") 
    { 
     set frame for landscape 
    } 
    else 
    { 
     set frame for portrait 
    } 
}); 

添加load事件也是如此。如果在觸發window.load時在DOM中可用屏幕,這將有所幫助。否則trigger屏幕動態注入DOM後(如@Tushar建議)。

記住orientation changeresize事件將不會被觸發 爲頁面加載開始,如果你想最初運行他們,你將 必須包括load事件也是如此。或者trigger,如果它們的 依賴於DOM的動態部分。

+0

用''替換上一個'}'; – Tushar

+0

當然,謝謝:)。 – sabithpocker