2011-12-27 3 views
2

次のコードの最後の1をぼかした後、最初のフォーム要素を焦点を当てるべきであるが、これは起きていない:私は#last後に別のフォーム要素を追加した場合jQueryの焦点後のぼかし()最後のフォームフィールド

<script> 
$(document).ready(function(){ 
    $("#last").blur(function(){ 
    $("#first").focus(); 
    }); 
}); 
</script> 
<form> 
<input type="text" name="first" id="first"><br><br> 
<input type="text" name="last" id="last"> 
</form> 

が、それはですそれは多分あなたがここにあなたのコード

+2

タブ、それは別のフレームにジャンプ終了... http://jsfiddle.net/bUt9M/ – Deleteman

+0

あなたは正しいです、私はタブを使用していますが、これは動作するはずですので、入力フィールドをぼかします? – JorisW

+0

あなたのタブの問題の修正を加えた回答を追加しました。それがyaの場合には教えてください;) – Deleteman

答えて

1

でのjQueryを含めていない正常に動作している

<script> 
$(document).ready(function(){ 
    $("#last").blur(function(){ 
    $("#first").focus(); 
    }); 
}); 
</script> 
<form> 
<input type="text" name="first" id="first"><br><br> 
<input type="text" name="last" id="last"> 
<input type="text" name="dummy"> 
</form> 
+1

'e.preventDefault();'すべてのキーについて? – Usman

+0

あなたは正しい、固定:)ありがとう – Deleteman

+1

あなたの修正はFFで動作していますが、クロムでは動作しません – JorisW

-1

Thowさんthis下記参照、正しく動作することは、を働いて、あなたのための修正です:

$(document).ready(function(){ 
    $("#last").blur(function(){ 
    $("#first").focus(); 
    }); 
    $("#last").keydown(function(e) { 
     if(e.keyCode == 9) { 
      $("#first").focus(); 
      return false; 
     } 
    }); 
}); 
+0

彼は、彼が別の要素を追加するとうまくいくと言っています... – Deleteman

+0

しかし、2つの要素だけで問題はありますが、それはうまくいきます。 – Dau

+0

コードと答えが間違っていますなぜ、あなたはそれが下の投票のように思うのですか? – Dau

1

@Deletemanコメントで言ったように:

私は、2番目のフィールドのうち、いないうちI]タブ場合 をクリックすると、それは私のために動作しますが、私はそれが原因で、タブでだと思います、別の フレームにジャンプしてしまいます。

彼は正しいです、私はあなたのための解決策を持っています。ここで

は安全なソリューションです:

$(document).ready(function(){ 
    $("#last").keydown(function(e){ 
     if(e.keyCode==9) 
     { 
      e.preventDefault(); 
      $("#first").focus(); 
     } 
    }); 
    $("#last").blur(function(e){ 
    $("#first").focus(); 
    }); 
}); 

デモ:ないうちI]タブ場合、私は、2番目のフィールドの外をクリックし、私はそれがでているためだと思えばそれは私の作品http://jsfiddle.net/uGudk/

+0

パーフェクト、ありがとう – JorisW

関連する問題