程宇寒 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日

悬赏问题

  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信