window.blur() -我做错了什么
window.blur() - what am I doing wrong
我试图在打开窗口时取消对焦,情况是:
-
我有一个主窗口的按钮,打开一个新的窗口,当它被点击,并自动调用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文档,一切似乎都很好。
—Edit—
最后我找到了一个稍微不同的解决方案:
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()函数内调用它们,无论如何它对我来说都很好。
尝试给主窗口焦点:
function openWindow() {
var exampleWin = window.open('example.html','Example','width=500,height=500');
window.focus();
}
使用exampleWin.focus()而不是exampleWin.blur()
这样做在大多数情况下效果更好…
$('a').click(function(e){
e.preventDefault();
var evt = document.createEvent("MouseEvents"),
ele = document.createElement('a');
ele.href = $(this)[0].href;
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null);
ele.dispatchEvent(evt);
});
相关文章:
- 正在尝试为Docpad网站设置Lunr全文搜索插件.我做错了什么
- 重新加载重复数据失败,我做错了什么
- 我做错了什么
- Google Apps 脚本为 getLastRow 抛出电子邮件失败通知,我做错了什么
- Javascript语法 - 我做错了什么
- 角度灯箱不起作用.我做错了什么
- 在这个猫鼬独特的保存前验证中,我做错了什么
- 简单的Youtube iframe API就在文档中,我做错了什么
- 我正在尝试实现一个AJAX调用.我做错了什么
- 我对这个动态查询做错了什么
- 我在jQuery事件处理和隐藏/显示图像元素方面做错了什么
- 闭包中的本地变量从外部更改.这是一个javascript错误,或者我做错了什么
- JS离线检测?我做错了什么
- Jquery自动完成不是't工作.我做错了什么
- 是ngRouter的角度错误还是我做错了什么
- jQuery Toggle——我做错了什么
- javascript原型,我做错了什么
- 超级初学者JavaScript..我做错了什么
- 我在这里做错了什么?否则,如果
- Javascript和HTML - 添加一个下拉菜单,我在这里做错了什么