Javascript 如何在Angularjs中添加新行后以编程方式关注下一个单元格
我是从淘汰赛世界来的新手。为了在表的最后一个单元格中添加一个新的标签,我已经连接到tab的一个按键事件 我的问题是,焦点然后进入uri栏中的信息图标,而不是新创建行中的下一个单元格。我确信解决办法很简单,我就是找不到解决办法,有人能帮忙吗 我使用的是AngularJSV1.59Javascript 如何在Angularjs中添加新行后以编程方式关注下一个单元格,javascript,angularjs,html,Javascript,Angularjs,Html,我是从淘汰赛世界来的新手。为了在表的最后一个单元格中添加一个新的标签,我已经连接到tab的一个按键事件 我的问题是,焦点然后进入uri栏中的信息图标,而不是新创建行中的下一个单元格。我确信解决办法很简单,我就是找不到解决办法,有人能帮忙吗 我使用的是AngularJSV1.59 var myApp=angular.module('myApp',[]); myApp .factory('shippingItems',函数(){ 返回{ 数据:[{ 数量:1, 宽度:1, 身高:1,, 长度:1,
var myApp=angular.module('myApp',[]);
myApp
.factory('shippingItems',函数(){
返回{
数据:[{
数量:1,
宽度:1,
身高:1,,
长度:1,
体重:1,
详情:1
},
{
数量:2,
宽度:2,
身高:2,
长度:2,
体重:2,
详情:2
},
{
数量:3,
宽度:3,
身高:3,
长度:3,
体重:3,
详情:3
}]
};
})
.controller(“userCtrl”、[“$scope”、“shippingItems”、函数($scope、shippingItems){
$scope.shippingItems=shippingItems.data;
}])
.directive(“myTab”、['shippingItems',函数(shippingItems){
返回{
链接:函数(范围、元素、属性){
scope.index=attrs.indexTracker;
元素绑定(“按键按下”,函数(事件){
if(scope.index==(shippingItems.data.length-1)){
if(event.which==9){
var newItem={
数量:空,
宽度:空,
高度:空,
长度:空,
权重:空,
详细信息:空
};
shippingItems.data.push(newItem);
元素。next().focus();
}
}
});
}
}
}]);代码>
英雄联盟
量
宽x高x长(厘米)
每件重量
总重
细节
x x
公斤
{{(项目.重量|编号)*(项目.数量|编号)}千克
您不需要指令
实际上您需要的是服务
,但是在本示例中,您可以看到如何使用角度元素
传递$event
从li
或td
中的上次输入
var-app=angular.module(“app”,[]);
应用程序控制器(“ctrl”,函数($scope,$timeout){
$scope.ul=[{},{},{}]
$scope.callService=函数(事件,索引){
如果(event.keyCode===13){
var nextInext=指数+1;
if(angular.isUndefined($scope.ul[nextInext])){
$scope.ul.push({});
}
$timeout(函数(){
angular.element(event.target).closest(“.parent”).find(“.child-”+nextInext+“input”).select();
})
}
}
})
自动聚焦下一个输入,自动按下[输入时按Enter键]
var myApp=angular.module('myApp',[]);
myApp
.factory('shippingItems',函数(){
返回{
数据:[{
数量:1,
宽度:1,
身高:1,,
长度:1,
体重:1,
详情:1
},
{
数量:2,
宽度:2,
身高:2,
长度:2,
体重:2,
详情:2
},
{
数量:3,
宽度:3,
身高:3,
长度:3,
体重:3,
详情:3
}]
};
})
.controller(“userCtrl”、[“$scope”、“shippingItems”、函数($scope、shippingItems){
$scope.shippingItems=shippingItems.data;
}])
.directive(“myTab”,['shippingItems',函数(shippingItems,$timeout){
console.log('CALLED')
返回{
链接:函数(范围、元素、属性){
元素绑定(“keydown”),函数(事件){
event.preventDefault();
scope.index=attrs.indexTracker;
if(scope.index==(shippingItems.data.length-1)){
//if(event.keyCode==81&&event.altKey){
如果(event.keyCode===9){
var newItem={
数量:空,
宽度:空,
高度:空,
长度:空,
权重:空,
详细信息:空
};
shippingItems.data.push(newItem);
setTimeout(函数(){
var tr_dom=元素[0]。最近('tr')。nextElementSibling
var输入=el