程宇寒 2019-05-08 14:21 采纳率: 100%
浏览 954
已采纳

点击html网页的任何空白处触发事件(但是有个bug,点击文本框元素和点击document事件会重叠/重合)

点击html网页的任何空白处触发事件(但是有个bug,点击文本框元素和点击document事件会重叠/重合)
怎么解决事件重叠/重合的问题?我自己想了2种办法,好像都不太好
直接po截图和代码
图片说明
图片说明
图片说明
图片说明
源代码如下:

<html>
<head>

<title>点击网页的任何地方都会弹出网站正在维护升级中</title>
<meta name="keywords" content="onload事件" />
<meta name="description" content="onload用法" />

<script type="text/javascript">

document.onclick = function() {
    alert("网站正在维护升级中.....");
}

</script>

</head>

<body>

<h1>点击网页的任何地方都会弹出网站正在维护升级中</h1>
<pre>
点击网页的任何地方都会弹出网站正在维护升级中这句话,但是有个bug,点击文本框元
素和点击document事件会重叠/重合,以后有时间再处理这个bug吧,大家也可
以自己先动脑筋想一想怎么解决这个bug
办法1:
取消网页中所有元素的onclick事件,可以写一个递
归,循环遍历网页中的所有的元素,代
码是document.getElementById("元素id").onclick = function(){};
办法2:判断一下事件的来源,触发是来自于网页中的元素还是来自于网页的空白处
</pre>
籍贯:<input type="text" value="江西省赣州市于都县" onclick="alert(this.value);"/>

</body>
</html>
  • 写回答

5条回答 默认 最新

  • qq_40077209 2019-05-08 14:40
    关注

    这个应该是事件冒泡的原因吧 document 是其他文本框或者点击事件的父级 在点击子元素是 会出现事件冒泡的现象 阻止冒泡的方法很多 自己百度看看吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 已采纳回答 3月21日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器