我遇到了jQuery focus()
的问题。
从选择器,我可以定位元素,并可以更改元素的CSS(例如display:none)。但是让项目集中并不起作用。
视频demo。打开高清以便更清楚地看到。
我使用AngularJs进行显示。
如何使用该应用:点击表单的第一个文本字段。将生成一个新表单。如您所见,生成新表单时,将聚焦第一个输入字段。接下来,在新表单中选择第二个选择字段,选择下拉列表或选项。然后单击第一个输入字段,将生成一个新表单。我在这里遇到的问题是它并没有专注于新的问题。
我如何关注:
$scope.addSubItem = function(index)
{
var newSubItem = [];
var data = $scope.inputData;
newSubItem.push("");
newSubItem.push(0);
newSubItem.push("hour");
newSubItem.push("");
$scope.items[index][6].push(newSubItem);
var itemToBeFocus = "#subItem" + index +"form:last-child input:first-child";
setTimeout(function(){
$(itemToBeFocus).focus(); //here
},0);
}
答案 0 :(得分:1)
我猜您在_
之前错过了"form
空格:
var itemToBeFocus = "#subItem" + index +" form:last-child input:first-child";
angular.element(itemToBeFocus).focus(); //here
而不是setTimeout
尝试使用angular.element()
jqLite对象包装器。