沒怎么理懂,div里要是有好幾個(gè)input呢?冒泡不是由里向外么?
focusin()在元素包含的元素中產(chǎn)生,怎么產(chǎn)生的?通過點(diǎn)擊元素中的元素?然后觸發(fā)了啥?
我印象中的冒泡是當(dāng)div與其中的元素都綁定了click事件時(shí),點(diǎn)擊里面的元素會(huì)向外冒泡,觸發(fā)div的點(diǎn)擊事件
focusin()在元素包含的元素中產(chǎn)生,怎么產(chǎn)生的?通過點(diǎn)擊元素中的元素?然后觸發(fā)了啥?
我印象中的冒泡是當(dāng)div與其中的元素都綁定了click事件時(shí),點(diǎn)擊里面的元素會(huì)向外冒泡,觸發(fā)div的點(diǎn)擊事件
2016-07-14
舉報(bào)
2016-07-27
blur、focus事件在元素本身產(chǎn)生,不支持冒泡;focusin、focusout事件支持冒泡。并要注意不是所有元素都能夠接收焦點(diǎn)的.能夠響應(yīng)用戶操作的元素才有焦點(diǎn)
所以
?$(".aaron").focus(function() {
? ? ? ? $(this).css('border', '2px solid red')
? ? })
這里父級(jí)div雖然綁定了focus事件,但是由于是子元素input獲得了焦點(diǎn),也就是input觸發(fā)了focus事件(當(dāng)然同時(shí)也觸發(fā)了focusin事件)但是input卻沒有綁定事件處理函數(shù),所以input不會(huì)有什么反應(yīng),再因?yàn)閒ocus不支持冒泡,所以父級(jí)div的focus事件并不會(huì)被觸發(fā),綜上所述就沒有任何反應(yīng)了
而$(".aaron1").focusin(function() {
? ? ? ? $(this).find('input').val('冒泡捕獲了focusin事件')
? ? ? ? ?$(this).css('border', '2px solid red')
? ? })
這里父級(jí)div綁定了focusin事件,子元素input獲得了焦點(diǎn)后觸發(fā)了focusin事件(當(dāng)然同時(shí)也觸發(fā)了focus事件),又因?yàn)橹С置芭?,所以父?jí)div的focusin事件就被觸發(fā)了,就出現(xiàn)反應(yīng)了
2016-07-23
和click是同樣的道理,點(diǎn)擊了里面的元素,然后因?yàn)槊芭?,也觸發(fā)了父級(jí)元素事件
2016-07-21
focus和blur都是表單input事件,而aaron不是表單元素,是div,所以當(dāng)然不會(huì)有反應(yīng)了。
2016-07-15
首先要清楚focusin和focusout是鼠標(biāo)事件,focus和blur是表單事件。?focus和blur不支持冒泡事件
你對(duì)冒泡事件的理解有誤,http://www.cnblogs.com/webflash/archive/2009/08/23/1552462.html,看看這個(gè)希望可以幫助你
?$(".aaron").focus(function() {?$(this).css('border', '2px solid red')? ? }) 這部分不會(huì)有反應(yīng)的原因是,聚焦input后,它并不會(huì)向上尋找有包含類為aaron的div,也就不會(huì)為這個(gè)div設(shè)置樣式(不會(huì)去執(zhí)行它的父級(jí)上的事件)
2016-07-14
這兩個(gè)無反應(yīng)是為啥?。。