2011-10-22 22 views

答えて

51

イベントバブル、focusおよびblurイベントは発生しません。つまり、focusinfocusoutをフォームフィールドの親要素に使用できます。

デモ:http://jsfiddle.net/pAp4E/

HTML:

<div class="parent"> 
    <input type="text" /> 
</div> 

<div class="log"></div> 

Javascriptを:

$('.parent') 
    .focusin(function(){log('div focusin');}) 
    .focusout(function(){log('div focusout');}) 
    .focus(function(){log('div focus');}) 
    .blur(function(){log('div blur');}); 
$('input') 
    .focusin(function(){log('input focusin');}) 
    .focusout(function(){log('input focusout');}) 
    .focus(function(){log('input focus');}) 
    .blur(function(){log('input blur');}); 

function log(str){ 
    $('.log').append($('<div/>').text(str)); 
} 

あなたがそれを実行すると、あなただけの入力は、すべてのイベントを取得し、親のみ取得することを見ますfocusinおよびfocusoutイベント。

+0

感謝。 – user960567

+0

2015年8月 - Firefoxはまだfocusin/focusout(https://developer.mozilla.org/en-US/docs/Web/Events/focusin)をサポートしていません。彼らはボールを落としました... –

+0

@ArnaudLeyder:はい、まだFirefoxでは実装されていませんが、jQueryはそれをエミュレートします。 – Guffa

10

フォーカスおよびブラーイベントは、ユーザーがフォーカスしている要素を追跡します。フォーカス可能な要素がフォーカス

  • ブラー

    フォーカス可能な要素にフォーカス

  • とfocusInを失い火災や

    focusoutを獲得

    1. フォーカス

      火災sで火災フォーカスとぼかしだが、気泡としての時間。このため

    2. 例えば

    check this

  • 関連する問題