我遇到了JS创建输入的另一个问题。我希望输入尽快关注下一个输入,因为它会被填满。所以我写了一个数字 - >繁荣我在另一个输入上。我发现这个代码已经发布在StackOverflow上了:
var inputs = $(':input').keypress(function(e){
if (e.which == 13) {
e.preventDefault();
var nextInput = inputs.get(inputs.index(this) + 1);
if (nextInput) {
nextInput.focus();
}
}
});
我编辑到:
var inputs = $(':input').keypress(function(e){
var nextInput = inputs.get(inputs.index(this) + 1);
if (nextInput) {
nextInput.focus();
}
});
工作正常。直到我使用JS createElement()函数广告新输入。然后它总是在加载后立即停止在页面上的最后一个输入。
任何解决方案? 您可以关注我的工作here。
谢谢!
答案 0 :(得分:0)
因为当你打电话给$(':输入')。keypress();输入(由JS方法createElement()创建)尚未创建,因此当然不会有keypress事件。
有一些解决方案适合您。最简单的方法是使用委托事件处理程序。您可以看到如何使用它here
感谢@Rory McCrossan的反馈