6

値が間違っている場合、カーソルを強制的に前の入力に戻そうとしています。これが私が使用するスクリプトのより単純なバージョンです:

$('input:first-child').blur(function(e){
    console.log('here');
  $('input:first-child').focus();
});

別の要素をクリックしてフォーカスアウトすると機能しますが、bodyまたは別のdiv要素をクリックすると機能しません。なんで?jsfiddleケースがあります:http://jsfiddle.net/leyou/Zabn4/37/

編集:私はChrome / Win7でテストしていましたが、Firefoxではもっと悪いようです。それはfocus()を完全に無視しています

4

2 に答える 2

6

これは、ぼかしがまだ完了していないために発生します。小さなタイムアウトでそれを行うと、それは機能します:

$('input:first-child').blur(function(e){
    setTimeout(function () { $('input:first-child').focus(); }, 20);
});
于 2012-11-12T15:46:23.907 に答える
0

これを試して

$('input:first-child').blur(function(e){
    console.log('here');
    setTimeout(function() { $('input:first-child').focus(); }, 500);
});
于 2012-11-12T15:47:35.940 に答える