2016-07-22 10 views
0

では動作しない理由は、私のHTMLです:ここではオートフォーカスは、ここで入力要素

<table id="tbl"> 
    <tr id="tx"><td><input type="text"/></td><td><input type="text" class="last" /></td></tr> 
</table> 

は私のjQueryのです:

$("#tbl").on("blur", ".last:last", function(){ 
    $("#tbl").append('<tr><td><input type="text" autofocus/></td><td><input type="text" class="last" /></td></tr>'); 
}); 

あなたは上記のコードで見ることができるように、私が追加しようとしています最後の行の最後のセルがフォーカスを失ったときのテーブルへの行。上記のコードはうまくいきましたが、新しく追加された行の最初のセルが作成されたときに、それをフォーカスします。だから、私はなぜhtml5 autofocusが私の場合にはうまくいかないのか質問したいと思いますか?ここで

は、私は、これが正常に動作し、スクリプトを変更している私のjsfiddle

+1

私はあなたのjsfiddleが動作するとは思わない。 – Danieboy

+0

完全なフィドルを作成する –

+0

@Danieboy申し訳ありません、私のフィドルを更新するのを忘れました、新しいリンクがここにあります:https://jsfiddle.net/Vishal1419/8zzcdxfn/10/ – Vishal

答えて

3

へのリンクです。

<script> 
$("#tbl").on("blur", ".last:last", function(){ 
    $("#tbl").append('<tr><td><input type="text" class="focus_this" autofocus /></td><td><input type="text" class="last" /></td></tr>'); 
    $(".focus_this").focus(); 
    $('.focus_this').removeClass('focus_this'); 
}); 
</script> 
+0

お返事ありがとうございます。しかし、それは動作しません。私はちょうどそれを今試しました。 jsfiddleのサンプルを投稿してください。 – Vishal

+0

@vishal - 働くフィドルリンクhttps://jsfiddle.net/8zzcdxfn/14/ – LoneRanger

+0

@Mehran質問を正しく読むと、新しく追加された行の最初のセルが作成されたときにそのフォーカスを述べています。しかし、あなたのケースでは、最後の細胞が集中する。 – LoneRanger

1

私はautofocusが機能していない理由を追加したいと思います@LoneRanger答えに加えて。

autofocusが自動的にフォーカスを取得するとpage loadsとなります。あなたのケースでは、ページはロードされず、DOMだけが変更されます。これを読んでhttp://www.html5tutorial.info/html5-autofocus.php

+0

リンクありがとうございます。 – Vishal