我有一个网页,其中包含一些 div 和内容(Kendo Splitter 内的 Kendo UI 网格),当页面准备好或调整大小时,它们会自动调整大小以适应可用空间。这是通过 Javascript+JQuery 通用触发器处理发生的,并且工作顺利。
但是当工具栏打开时(例如 Firebug),会发生以下情况:
如果我在页面加载之前刷新并切换到另一个浏览器的选项卡,然后我回到我的页面,我会看到其中一个 div(网格的一个)比其容器大,因此它溢出了几个像素。顺便说一句,它会在页面显示后几分钟发生,因此无法使用 visibilitychange
触发器。
通过简单地打开页内调试器,在 IE 中也会发生同样的情况。
我认为 KendoUI 小部件与此问题无关,但为了完整起见,我报告了它。
所以我认为解决这个问题的最佳方法是利用用户显示文档时触发的某些事件。 存在吗?
最佳答案
您可能想在 window
上监听 focus
和 blur
事件,如下所示:
$(window).on('focus', function() {
//(...)
});
当您转到浏览器窗口之外的另一个选项卡或另一个窗口时,会触发 blur
事件。 focus
事件的作用相反。
我可以在此处添加一个 jsfiddle,但它使用 iframes
,因此无法正确测试。
关于页面显示时的Javascript事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18982710/