Javascript 使用enter键移动到新行

Javascript 使用enter键移动到新行,javascript,html,knockout.js,Javascript,Html,Knockout.js,我正在尝试创建一个javscript方法,通过按enter键可以移动到下一个字段。这基本上可以正常工作,只是当您点击enter键单击按钮时,它会创建一个与前一行相同的新行(这是正常的),但它不会立即移动到下一个字段。你需要点击tab键才能进入下一个 我真的很感激在这方面的一些帮助,因为我无法让它移动到下一个盒子并直接进入它 quickAddViewModel.prototype.addItemLine=函数(){ var self=这个; var itemLine={ 项目编号:可观察的高(“

我正在尝试创建一个javscript方法,通过按enter键可以移动到下一个字段。这基本上可以正常工作,只是当您点击enter键单击按钮时,它会创建一个与前一行相同的新行(这是正常的),但它不会立即移动到下一个字段。你需要点击tab键才能进入下一个

我真的很感激在这方面的一些帮助,因为我无法让它移动到下一个盒子并直接进入它

quickAddViewModel.prototype.addItemLine=函数(){
var self=这个;
var itemLine={
项目编号:可观察的高(“”),
项目数量:可观察到的ko(0),
错误:ko.可观察(假)
};
self.itemsToAdd.push(itemLine);
}
ko.bindingHandlers.nextFieldOnEnter={
init:function(元素、valueAccessor、allBindingsAccessor){
$(元素).on('keydown','input,select',函数(e){
var self=$(此),
形式=$(元素),
聚焦,下一步;
如果(e.keyCode==13){
focusable=form.find('input,a,select,button,textarea')。filter(':visible');
var nextIndex=focusable.index(this)=focusable.length-1?0:focusable.index(this)+1;
next=focusable.eq(nextIndex);
next.focus();
这个.addItemLine();
返回true;
}
});
}
};


我给你写了一个片段。请将其设置为a。您是否尝试调试它?第一个猜测是,您在
输入上收听
按键
,选择
,但不要选择
按钮
。你确定你的功能真的被触发了吗?另外,
具有默认行为,请确保它们不会覆盖/干扰您的行为。代码段给出了一个未捕获的引用错误:未定义quickAddViewModel