2011-10-05 9 views
0

jQueryのfocus()は、要素がフォーカスされる前に呼び出されます。私はこれがそうであると信じています。なぜなら、要素の境界線は焦点を合わせると異なるからです。when I measure it I get the unfocused border size要素がフォーカスされた後にコールを実行できますか?

要素がフォーカスを取得した直後にコードを実行する方法はありますか?

+0

setTimeoutについてはどうですか? –

答えて

2

ごくわずかな遅延の後にタイムアウトハンドラでコードを実行できます。

$('.foo').focus(function() { 
    var foo = this; 
    setTimeout(function() { 
    $(foo).whatever(); 
    }, 1); 
}); 
+0

Hmm。私はハッキングに慣れる必要がある、私はJSの新人だ:) – ripper234

+0

あなたは物事についてどのように考えるかによってまさにハックではありません。要点は、コードが別のイベントループに置かれ、ネイティブのデフォルト動作を含め、暗黙的に "フォーカス"イベントを*完全に終了させることです。 – Pointy

+0

これをテストすると、私は100%ではないと思っていました。これは(100msの遅れでさえ)助けにはならないと思われたからです。 – ripper234

関連する問題