有没有一种方法,当我点击我的浏览器并给它焦点时,运行一个方法一次?然后当浏览器失去焦点然后再次获得焦点时再次运行该方法一次。
原文由 Rod 发布,翻译遵循 CC BY-SA 4.0 许可协议
有没有一种方法,当我点击我的浏览器并给它焦点时,运行一个方法一次?然后当浏览器失去焦点然后再次获得焦点时再次运行该方法一次。
原文由 Rod 发布,翻译遵循 CC BY-SA 4.0 许可协议
$(document).ready(function() { $(window).one("focus", SomeFocusMethod); } );
var SomeFocusMethod = function()
{
// do stuff
$(window).one("blur", SomeBlurMethod);
}
var SomeBlurMethod = function()
{
// do stuff
$(window).one("focus", SomeFocusMethod);
}
原文由 Brett Weber 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
您可以附加
focus
和blur
--- 对象上的事件处理程序window
对象以跟踪窗口是否获得焦点或失去焦点(参见 http:// jswqhnetFz / / 举个简单的例子)。window
适用于当前浏览器上下文(因此可以是窗口、选项卡、框架等)。注意:
focus
事件将在每次窗口获得焦点时触发,而blur
事件将在每次失去焦点时触发。将焦点从窗口移开的示例是alert
窗口。 如果您尝试在onfocus
事件处理程序中发出警报,您将获得无限循环的警报!