首頁 >web前端 >js教程 >jQuery中focusin()與focus()以及find()於children()的區別

jQuery中focusin()與focus()以及find()於children()的區別

黄舟
黄舟原創
2017-06-27 13:19:001607瀏覽


jQuery中focus()和focusin()、focus()和children()的區別

focus()和focusin()

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()只向下追溯一級子節點。 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn