这是我的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
的链接答案 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