window.onblur 不工作

2023-11-22

我似乎无法让 window.onblur 正常工作。

window.onblur = console.log('blur');

当侦听器应用于窗口时,它仅在加载页面时运行,而不是在窗口失去焦点时运行。


Ryudice 已经告诉你该怎么做,但没有解释why它没有按照你的方式工作。了解它的机制将帮助您弄清楚如何进一步进行。

原因是你原来的代码是running the console.log('blur')立即命令,并使用该调用的返回值作为窗口 onblur 事件。

返回值console.log()浏览器之间有所不同,但为了论证,我们假设它返回一个布尔值true价值。这意味着您的原始代码相当于这样编写:

window.onblur = true;

这显然不会像你期望的那样工作。

你需要的是为了window.onblur设置为每次调用时都会调用的函数onblur事件被触发。这是通过将代码包装在function() {},根据 Ryudice 的回答。

您还可以在简单的情况下通过不在要调用的函数名称上提供括号来实现它。但此方法仅在您没有要传递给函数的任何参数时才有效,因此不适合您的情况console.log例子。

希望有帮助。如果您仍然感到困惑,网上有很多资源。尝试在谷歌上搜索“javascript 将函数作为参数传递”之类的短语,看看会出现什么结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

window.onblur 不工作 的相关文章

随机推荐