我有一个事件处理程序,仅在满足特定条件后才执行,如下面的伪代码所示:

if(condition)
{
    window.ondeviceorientation = function(e){
        //my code
    }
}


我只需要运行一次即可捕获陀螺仪值并设置一些sessionStorage值。

第一次迭代后如何禁用ondeviceorientation循环?这是我当前正在执行的操作,但不确定是否是最佳解决方案:

if(condition)
{
    var stop_event_loop;
    window.ondeviceorientation = function(e){
        if(stop_event_loop) break;
        //my code

        stop_event_loop = true;
    }
}

最佳答案

只需清除事件处理程序即可,如下所示:

if(condition)
{
    window.ondeviceorientation = function(e){
      //my code
      window.ondeviceorientation = null;
    };
}

10-06 08:24