为什么自动对焦不适用于输入元素

时间:2016-07-22 06:35:14

标签: javascript jquery html html5

这是我的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

的链接

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

除了@LoneRanger,我想补充一下为什么autofocus无效。

autofocus会在page loads时自动获得焦点。在您的情况下,页面未加载但只有DOM被更改。阅读此http://www.html5tutorial.info/html5-autofocus.php