是否存在诸如javascript窗口onidle事件之类的事件
我有我的是否存在诸如javascript窗口onidle事件之类的事件,javascript,events,Javascript,Events,我有我的init()循环运行,我想在更改窗口对象(调整大小、移动等)时清除它 当我完成这项工作时,我希望能够调用类似的东西:window.addEventListener('idle',function(){if(!window.myTimer){init();}) 我想只要通过以下途径恢复就足够安全了: window.addEventListener('mouseup',function(){if(!window.myTimer){init();}); 然而,这一个甚至没有达到我预期的效果,它
init()代码>循环运行,我想在更改窗口对象(调整大小、移动等)时清除它
当我完成这项工作时,我希望能够调用类似的东西:window.addEventListener('idle',function(){if(!window.myTimer){init();})代码>
我想只要通过以下途径恢复就足够安全了:
window.addEventListener('mouseup',function(){if(!window.myTimer){init();});
然而,这一个甚至没有达到我预期的效果,它忽略了滚动方面。我还尝试了onchange
事件,该事件会随着情况的变化而触发
有什么想法吗?在快速阅读之后,花点时间测试一下;下面是我对requestIdleCallback
函数()的基本解释
/*全局变量声明*/
window.myTimer=null;
window.counter=0;
/*结束全局变量声明*/
函数init(){
/*我的自定义检查代码在这里*/
document.getElementById('counter').innerHTML=window.counter+“”;
控制台日志(窗口计数器);
window.counter+=1;
/*结束我的自定义检查代码*/
/*无阻塞环路*/
window.myTimer=setTimeout(init,50);
/*端非阻塞环路*/
}
/*事件侦听器声明*/
addEventListener(“change”,function(){clearInterval(window.myTimer);window.myTimer=null;});
requestIdleCallback(函数(){if(!window.myTimer){init();}});
/*结束事件侦听器声明*/
@ChristopherHarris感谢您提供的链接,当我查看窗口事件时,我没有在MDN上看到它,我将更深入地了解它,因为它听起来正是我所需要的。不幸的是,IE/edge中没有此链接,但您可能会在某处找到一个多边形填充。并且在中不可用Safari@ChristopherHarris你能把它正式化为一个answe吗r、 所以我可以相信你让我得到了我的答案?无论如何,谢谢你!!!@Christopherraris好的,我只是想表达我对你的感激之情,让你知道我到底要去哪里,并因此而赢得声誉。
function init() {
//$.ajax({url: blah-blah-blah...});
window.myTimer = setTimeout(init, 1000);
return;
}