求解兩段代碼
這段代碼為什么沒有效果$(".aaron").focus(function() {$(this).css('border', '2px solid red')?})
不是focus()在元素本身產(chǎn)生,focusin()在元素包含的元素中產(chǎn)生
那么這段代碼不應(yīng)該是點(diǎn)擊div的時(shí)候里層的input就有效果 ?但是為什么一定點(diǎn)在input上才有效果$(".aaron1").focusin(function() {
? ? ? ? $(this).find('input').val('冒泡捕獲了focusin事件')
? ? })
2017-03-23
樓上說的有道理,個(gè)人理解是:表單元素可以用focus、focusin、blur、focusout來觸發(fā)相應(yīng)的事件,但對(duì)于div等只能用focusin和focusout來觸發(fā)事件,也就是div上有這個(gè)事件,點(diǎn)擊input就能觸發(fā)。
2017-02-28
因?yàn)閐iv這個(gè)元素不支持focus。由于focus不進(jìn)行冒泡針對(duì)本身,所以要么直接讓input用focus,要么就用focusin冒泡傳給input。
2017-01-02
跟沒說一樣,不理解才問,說的跟課程里面的一樣等于沒解釋,我也懵逼了!
2016-12-24
我第一次看錯(cuò)了,代碼中的.aaron指向的是input外層的div,所以,你這個(gè)代碼會(huì)對(duì)外層的div起作用!
.focusin()方法和.focus()的事件源不同~· 舉個(gè)例子 <p><input type="text" /></p> 其中input元素可以觸發(fā)focus()事件;p是input的父元素,當(dāng)它包含的元素input觸發(fā)了focus事件時(shí),它就產(chǎn)生了focusin()事件。 個(gè)人理解為:focus()在元素本身產(chǎn)生,focusin()在元素包含的元素中產(chǎn)生。
2016-12-24
你這段代碼本身拼寫就錯(cuò)了:$(".aaron").focus(function() {$(this).css('border', '2px solid red')?}),改正拼寫就好了,正確代碼:$(".aaron2").focusin(function() {$(this).css('border', '2px solid red') })!