今天在做网页设计时,用了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)就不会无效了。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。