我试图在打开窗口时取消焦点,情况是:
我有一个带有按钮的主窗口,单击该按钮会打开一个新窗口并自动调用 blur() 方法,因此该窗口应该在后台,但是什么也没发生,我在 Firefox 和 Chrome 的最新版本上进行了尝试。
function openWindow() { var exampleWin = window.open('example.html','Example','width=500,height=500'); exampleWin.blur(); } // and the HTML: <button onclick="openWindow();">Open Window</button>
代码很简单,但我不确定为什么它不起作用,我什至查看了 MDN 文档,一切似乎都很好。
- 编辑 -
最后我找到了一个稍微不同的解决方案:
function openWindow() {
/* This time I don't use var keyword, so the exampleWin variable
will have a global scope */
exampleWin = window.open('example.html','Example','width=500,height=500');
}
function focusFn() {
exampleWin.focus();
}
function blurFn() {
exampleWin.blur();
}
// The HTML:
<button onclick="openWindow();">Open Window</button>
<button onclick="focusFn();">Focus</button>
<button onclick="blurFn();">Blur</button>
它以这种方式正常工作,但如果我使用 onclick 事件调用焦点/模糊函数,而不是在 openWindow() 函数中调用它们,无论如何这对我来说都很好。