剛開始點(diǎn)擊body空白處并沒有效果~
剛開始的時(shí)候跟很多人遇到的問題一樣,那就是點(diǎn)擊body空白處的時(shí)候,并沒有任何反應(yīng)。但是如果先點(diǎn)擊button之后,再點(diǎn)擊body空白處就有效果了。很困惑為什么會(huì)這樣?從代碼上看明顯是給body元素綁定了click事件,那為什么剛開始點(diǎn)body的空白處沒效果呢?
偶然間看到有大神回復(fù)說是因?yàn)閯傞_始的時(shí)候body的高度只到button下面為止,點(diǎn)擊button下面的空白是沒效果的,需要點(diǎn)擊button后面的空白才會(huì)有效。試了一下,發(fā)現(xiàn)確實(shí)是這樣,初想一下感覺貌似確實(shí)是這個(gè)道理。但再深一步的驗(yàn)證下,發(fā)現(xiàn)貌似又不是這樣。驗(yàn)證方法如下:
????????????”給body加上background-color“
發(fā)現(xiàn)整個(gè)瀏覽框(不止是button,還包括button下面的所有空白處)都有背景色,證明剛開始body的高度并不是只到button下面為止。這時(shí)我就很納悶了~到底該如何理解?很困惑~望各位大神指導(dǎo)~
2017-06-08
很好理解吧。給body增加個(gè)樣式。就知道body的位置在哪里了。js代碼中的對(duì)象是body,是對(duì)body的點(diǎn)擊觸發(fā)事件的,所以你點(diǎn)擊body以外的區(qū)域是沒有反應(yīng)的,而在body區(qū)域中的隨處一個(gè)地方點(diǎn)擊都是會(huì)觸發(fā)事件。
2017-03-21
樓上不知后覺大兄弟正解
2017-03-21
樓上正解
2017-02-15
上面的解釋都有點(diǎn)問題,你問到的大神給你的回復(fù)是正確的,至于為什么會(huì)出現(xiàn)你最后的這個(gè)疑惑,這個(gè)問題就牽扯到了對(duì)<body>和<html>這兩個(gè)標(biāo)簽的理解。
為什么你給body設(shè)置顏色以后,瀏覽器的背景全都會(huì)變成紅色?
因?yàn)榇藭r(shí)html標(biāo)簽沒有被激活,此時(shí)的body成了根節(jié)點(diǎn)的節(jié)點(diǎn),它的背景顏色被瀏覽器捕獲,所以你看到的頁面全為紅色是瀏覽器的背景色。,再說一下,是瀏覽器的背景色。
當(dāng)你給html標(biāo)簽設(shè)置背景色為綠色后,會(huì)發(fā)現(xiàn),瀏覽器的背景顏色變成了綠色,而紅色只覆蓋到button標(biāo)簽下面,因?yàn)榇藭r(shí)瀏覽器捕獲到的根節(jié)點(diǎn)的節(jié)點(diǎn)是html,所以它的背景色就成了瀏覽器的背景色。
這就很容易理解為什么點(diǎn)擊button下面的部分的時(shí)候沒有反應(yīng),而點(diǎn)擊上面的部分div就會(huì)出現(xiàn)。
2017-01-17
我又來了,信不信這回好使。這個(gè)和?<script type="text/javascript">的位置有關(guān),你寫成外聯(lián)就會(huì)完全好使了,因?yàn)閷懺赽ody里是隨著那些頁面元素一起加載的,他后面的空白是不受那個(gè)javascript函數(shù)的控制,寫在body里的javascript函數(shù)只對(duì)前面的頁面元素有效。
2017-01-15
用這個(gè)<script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js">點(diǎn)哪都沒用。用這個(gè)<script src="http://libs.baidu.com/jquery/1.9.1/jquery.js">才是你說的“藍(lán)色區(qū)域的click都是有效的”。應(yīng)該是它的原因?!鸷鼮g覽器
2017-01-13
on()綁定事件 ?body中包含bottom控件 ?則按鈕可以將它們的?Click?事件轉(zhuǎn)發(fā)給包含控件。這樣,按鈕實(shí)現(xiàn)綁定控件定義的自定義功能 ? 我是這樣認(rèn)為的 ?不知道對(duì)不對(duì)
2017-01-12
經(jīng)驗(yàn)證,發(fā)現(xiàn)下圖中藍(lán)色區(qū)域的click都是有效的,紅色區(qū)域的部分click都是無效的~
2017-01-12
點(diǎn)擊有效標(biāo)簽,包括空白標(biāo)簽,才能激發(fā)?$body.on('click', function(),
你點(diǎn)擊最左邊的紅色區(qū)域,就不會(huì)激發(fā)$body.on('click', function(),,因?yàn)槟抢锊皇悄J(rèn)的空白標(biāo)簽,但是右邊就可以,因?yàn)槟抢锬J(rèn)