【发布时间】:2016-08-05 04:51:40
【问题描述】:
我想要做的是当有人点击页面中的任意位置时。 将打开一个新窗口,但我希望这种情况只发生一次,因此当有人再次单击正文时,该功能不应运行。 有什么建议吗?请不要使用 jquery。
<!DOCTYPE html>
<html>
<body onclick="myFunction()">
<script>
function myFunction() {
window.open("http://www.w3schools.com");
}
</script>
</body>
</html>
【问题讨论】:
-
尝试使用全局 javascript 变量。让这个值最初为假。在打开窗口之前,检查这个变量的值。仅当此变量的值为 false 时才打开窗口。打开窗口后,将其设置为 true。
-
使用全局变量
-
1:全局布尔变量,2:运行myFunction时移除onclick事件,3:……想不出第三个选项
-
遗憾的是,如果阻止用户再次单击所需的时间比用户执行另一次单击所需的时间长,则此处的任何答案都不起作用。例如,如果用户在我们从元素中删除
onclick或检查全局变量的值之前非常快速地(有意或无意地)多次单击,则将注册多次单击。还没找到解决办法。
标签: javascript popup