javascript android window.onorientationchange不断触发

mhe*_*ers 6 javascript mobile jquery android

我试图检测移动设备上的方向变化,并在方向完成后触发功能,但功能内的代码在Android中不断触发,我不知道为什么.这是我的代码:

var supportsOrientationChange = "onorientationchange" in window;
var orientationEvent = supportsOrientationChange ? "orientationchange" : "resize";

window.addEventListener(orientationEvent, 
   function() { alert ('orientation changed'); }, 
   false
);
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何写这个,以便它只在方向改变完成后触发一次?

Jas*_*per 8

我在我的应用程序中使用了解决方法.我为orientationchange添加了一个事件监听器,然后设置了一个超时,这样就可以进行方向转换,我可以得到一个新的宽度值,它实际上反映了方向改变后的宽度.

var device_width = 0;
$(document).ready(function () {
    var oc_timer;
    $(window).bind('orientationchange', function () {
        clearTimeout(oc_timer);
        oc_timer = setTimeout(function () {
            device_width = $(window).width();
        }, 500);
    });
});
Run Code Online (Sandbox Code Playgroud)

我不肯定这将解决你的持续射击功能问题,但这是我发现工作的解决方案.