我正在尝试检测移动设备,iphone和ipads中的方向变化。
我使用以下代码:
$(window).bind("orientationchange", function (event) {
alert(event.orientation);
position = $.event.special.orientationchange.orientation();
event.preventDefault();
});
这里警报的值,即event.orientation显示为“未定义”,我在某些帖子中读到它确实支持检测方向。 同样在jquery文档中,它被编写为更好地使用“event.orientation”而不是“window.orientation”,但是这些都没有返回所需的结果都返回“undefined”。
所以我使用了“$ .event.special.orientationchange.orientation();”检测方向。
但我想使用jquery文档中定义的功能作为event.orientation。如link
同样在我的代码中,“$ .mobile.orientationChangeEnabled”设置为true,如上面的链接所示。
请为此建议任何可能的解决方案。
任何帮助都将不胜感激。
提前致谢。
答案 0 :(得分:1)
老问题,但是万一其他人遇到它,你必须使用window.orientation,并用度数表示:
portrait: 0
portrait (upside down): 180
landscape: (counterclockwise): 90
landscape: (clockwise): -90
答案 1 :(得分:0)
试试这个:
$(window).bind('orientationchange',function(){
if(event.orientation == 'portrait'){
alert('portrait');
}
else if(event.orientation == 'landscape') {
alert('landscape');
}
});
答案 2 :(得分:0)
$(window).on("orientationchange", function (event) {
答案 3 :(得分:0)
event.orientation并不总是设定。我有这个" undefined" IOS safari中的问题。相反,尝试使用window.orientation:
{{1}}
window.orientation可以是0或180(纵向模式),或90或-90(横向模式)
答案 4 :(得分:0)
我有同样的问题。以防万一有人遇到这个问题。 试试window.screen.orientation.type
jQuery( window ).on( "orientationchange", function( event ) {
if(window.screen.orientation.type == 'landscape-primary')
{
}
if(window.screen.orientation.type == 'portrait-primary')
{
}
});