focus()和focusin()的區別在於focusin()支援事件的冒泡,以下舉例說明:
<!doctype html><html lang="en"><head> <meta charset="utf-8"> <title>focusin demo</title> <style> span { display: none; } </style> <script src="https://code.jquery.com/jquery-1.10.2.js"> </script> </head> <body> <p> <input type="text"> <span>focusin fire</span> </p> <p> <input type="password"> <span>focusin fire</span> </p> <script>$( "p" ).focusin(function() { $( this ).find( "span" ).css( "display", "inline" ).fadeOut( 1000 ); });</script> </body> </html>
當我們點擊輸入框時,其獲得焦點,導致獲得焦點事件向上冒泡,使得p標籤觸發獲得焦點事件,而focus()並不支持事件冒泡,同樣地,focusout()支持事件冒泡,而blur()不支持。
find()和children()的差別在於find()向下追溯多層子節點,而children()只向下追溯一級子節點。 find()和children()相同的地方是他們在尋找子節點時都不包含自身節點。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> p{ font-size: 20px; width: 200px; color: blue; font-weight: bold; margin: 0 10px; } .hilite { background: yellow; } #test{ font-weight: bolder; } </style> </head> <body> <ul class="level-1"> <li class="item-i">I</li> <li class="item-ii">II <ul class="level-2"> <li class="item-a">A</li> <li class="item-b">B <ul class="level-3"> <li class="item-1">1</li> <li class="item-2">2</li> <li class="item-3">3</li> </ul> </li> <li class="item-c">C</li> </ul> </li> <li class="item-iii">III</li></ul> <script src="jquery-2.1.4.js"></script> <script> $( "li.item-ii" ).find( "li" ).css( "background-color", "red" ); </script> </body> </html>
倘若將上例中的find()替換為children(),會得到不同的結果。
#以上是jQuery中focusin()與focus()以及find()於children()的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!