【发布时间】:2022-01-11 04:21:20
【问题描述】:
我正在尝试在 mousedown(单击)上设置延迟,它在下面的代码中聚焦 newWin.focus: 简而言之,下面的代码可以正常工作。如果弹出窗口打开,当用户单击页面上的任意位置时,它会重新聚焦(将其移回前面)。
我想在用户点击页面时有 2 秒的延迟,然后让它重新关注新窗口。
我已经花了几个小时试图解决这个问题,但无济于事,在这里和那里使用各种 settimeout。所以,我想我会展示我的作品,并希望有人可以解释我的需求是如何实现的。
PS:我仍在学习有关 javascript 的方法,并且绝不认为自己在该主题方面知识渊博。
提前致谢!!
<script type="text/javascript">
var newWin;
function openPopup()
{
newWin=window.open('https://www.somesite/url.php','window','width=400,height=600,scrollbars=0,resizable=1,top=300,left=300');
document.onmousedown=focusPopup;
document.onkeyup=focusPopup;
document.onmousemove=focusPopup;
}
function focusPopup(){
if(!newWin.closed){
newWin.focus();
}
}
</script>
【问题讨论】:
-
您在尝试
setTimeout时遇到安全错误吗? -
没有。然而,雷回答了这个问题。感谢您提供帮助。非常感谢。
标签: javascript settimeout onfocus