課程
/前端開發
/jQuery
/jQuery基礎(三)—事件篇
為什么jquery要設計focusin和focusout受冒泡影響呢?好處是什么?相比之下blur與focus不受冒泡影響不是更方便嗎?
2016-07-18
源自:jQuery基礎(三)—事件篇 3-1
正在回答
focus事件本身是不冒泡的,但是focusin可以,動態添加元素時,就不需重新綁定焦點事件,通過冒泡就能觸發。即只要在父元素上添加focusin事件就相當于在子元素被點擊時觸發子元素的focus事件。
weibo_一萬群什麼_0 提問者
補充點。樓上說的這個好處呢,可以體現為性能的優化,假如沒有事件的冒泡,你要處理子對象就要一個一個的去建立對象,當它可以在父類處理時,就只要一個對象就行了。不僅節約了內存,減少了對象的創建還減少了內存的處理時間?!秊s高級教程》可以看看
focusin當一個元素,或者其內部任何一個元素獲得焦點的時候會觸發這個事件。這跟focus事件區別在于,他可以在父元素上檢測子元素獲取焦點的情況。例如:
<p><input type="text" /> <span>focusout fire</span></p><p><input type="password" /> <span>focusout fire</span></p>jQuery 代碼:$("p").focusin(function() {? $(this).find("span").css('display','inline').fadeOut(1000);});
focusout(fn)當一個元素,或者其內部任何一個元素失去焦點的時候會觸發這個事件。這跟blur事件區別在于,他可以在父元素上檢測子元素失去焦點的情況。
淡水狗
這就是focusin的好處之一,可以讓父元素檢測到子元素獲取焦點的情況。比如
HTML 代碼:
<p><input type="text" /> <span>focusout fire</span></p><p><input type="password" /> <span>focusout fire</span></p> ? ? ?
jQuery 代碼:
$("p").focusin(function() { ?$(this).find("span").css('display','inline').fadeOut(1000);});
舉報
jQuery第三階段開啟事件修煉,掌握對頁面進行交互的操作
7 回答什么是冒泡處理?
4 回答什么是冒泡處理?
2 回答為什么會冒泡?
2 回答那focusout()和blur()有什么區別呢?
2 回答什么叫冒泡啊
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-08-10
focus事件本身是不冒泡的,但是focusin可以,動態添加元素時,就不需重新綁定焦點事件,通過冒泡就能觸發。即只要在父元素上添加focusin事件就相當于在子元素被點擊時觸發子元素的focus事件。
2016-10-07
補充點。樓上說的這個好處呢,可以體現為性能的優化,假如沒有事件的冒泡,你要處理子對象就要一個一個的去建立對象,當它可以在父類處理時,就只要一個對象就行了。不僅節約了內存,減少了對象的創建還減少了內存的處理時間?!秊s高級教程》可以看看
2016-07-19
focusin當一個元素,或者其內部任何一個元素獲得焦點的時候會觸發這個事件。這跟focus事件區別在于,他可以在父元素上檢測子元素獲取焦點的情況。例如:
<p><input type="text" /> <span>focusout fire</span></p>
<p><input type="password" /> <span>focusout fire</span></p>jQuery 代碼:
$("p").focusin(function() {
? $(this).find("span").css('display','inline').fadeOut(1000);
});
focusout(fn)當一個元素,或者其內部任何一個元素失去焦點的時候會觸發這個事件。這跟blur事件區別在于,他可以在父元素上檢測子元素失去焦點的情況。
2016-07-18
這就是focusin的好處之一,可以讓父元素檢測到子元素獲取焦點的情況。比如
HTML 代碼:
<p><input type="text" /> <span>focusout fire</span></p>
<p><input type="password" /> <span>focusout fire</span></p>
? ? ?
jQuery 代碼:
$("p").focusin(function() {
?$(this).find("span").css('display','inline').fadeOut(1000);
});