技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營

贊助商

分類目錄

贊助商

最新文章

搜索

$("body").on("click" 點(diǎn)擊body無反應(yīng)的原因

作者:admin    時(shí)間:2021-8-2 9:49:20    瀏覽:

今天在做網(wǎng)頁設(shè)計(jì)時(shí),用了jQuery的鼠標(biāo)點(diǎn)擊事件(click-event),但發(fā)現(xiàn)$("body").on("click" 這代碼,在點(diǎn)擊 body 時(shí)無反應(yīng)。

$("body").on("click",function(e){
if(e.target.id != "custom-select") {
$("#select-option-box").hide();
}
});

這是什么原因呢?

我一開始是更改body的寬度、高度,給body標(biāo)簽加上class名,加上id名,但統(tǒng)統(tǒng)都不能解決問題。

 $("body").on("click" 點(diǎn)擊body無反應(yīng)

難道對(duì)于 body 的點(diǎn)擊事件(click-event),不能這樣寫代碼?

研究發(fā)現(xiàn):

在body的空白處,即是在沒有任何元素填充的body空余處,點(diǎn)擊事件(click-event)是不能發(fā)生的,點(diǎn)擊事件(click-event)要點(diǎn)擊某個(gè)元素才有效。

明白了這個(gè)原因,我們只需用div或其他元素把body完全填充不留空地,那么在body的任何地方點(diǎn)擊事件(click-event)就不會(huì)無效了。

我看到網(wǎng)上有人提到這樣寫:

<body onclick="...">

但是仍然會(huì)出現(xiàn)上面我說的問題,所以這并不能解決問題。

結(jié)論

通過查閱了不少相關(guān)資料,body的點(diǎn)擊事件(click-event)確實(shí)需要點(diǎn)了某一元素才能發(fā)生,正如前面所言,在body的空白處,即是在沒有任何元素填充的body空余處,點(diǎn)擊事件(click-event)是不能發(fā)生的。

解決方法

如前面所述,我們只需用div或其他元素把body完全填充不留空地,那么在body的任何地方點(diǎn)擊事件(click-event)就不會(huì)無效了。

標(biāo)簽: click-event  
x
  • 站長推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */