|
|
|
|
|
|
今天在做網頁設計時,用了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)就不會無效了。
