$(“body”).on(“click” 点击body无反应的原因
今天在做网页设计时,用了jQuery的鼠标点击事件(click-event),但发现$("body").on("click"
这代码,在点击 body 时无反应。
$("body").on("click",function(e){
if(e.target.id != "custom-select") {
$("#select-option-box").hide();
}
});
这是什么原因呢?
我一开始是更改body的宽度、高度,给body标签加上class名,加上id名,但统统都不能解决问题。
难道对于 body 的点击事件(click-event),不能这样写代码?
研究发现:
在body的空白处,即是在没有任何元素填充的body空余处,点击事件(click-event)是不能发生的,点击事件(click-event)要点击某个元素才有效。
明白了这个原因,我们只需用div或其他元素把body完全填充不留空地,那么在body的任何地方点击事件(click-event)就不会无效了。
我看到网上有人提到这样写:
<body onclick="...">
但是仍然会出现上面我说的问题,所以这并不能解决问题。
结论
通过查阅了不少相关资料,body的点击事件(click-event)确实需要点了某一元素才能发生,正如前面所言,在body的空白处,即是在没有任何元素填充的body空余处,点击事件(click-event)是不能发生的。
解决方法
如前面所述,我们只需用div或其他元素把body完全填充不留空地,那么在body的任何地方点击事件(click-event)就不会无效了。