Javascript 如何使用Angular JS聚焦输入

Javascript 如何使用Angular JS聚焦输入,javascript,angularjs,Javascript,Angularjs,使用AngularJS如何聚焦来自控制器的文本输入 我已尝试使用以下方法: $scope.myinput.focus(); 这会引发一个错误: “undefined”不是对象(计算“$scope.myinput.focus”)” 基本情况是通过单击另一个元素触发输入焦点。我创造了一个例子来说明这个问题 注意:我对jquery解决方案不感兴趣 感谢您的帮助。给文本框一个ID,并使用基本javascript将其聚焦: document.getElementById('theboxid').focu

使用AngularJS如何聚焦来自控制器的文本输入

我已尝试使用以下方法:

$scope.myinput.focus();
这会引发一个错误: “undefined”不是对象(计算“$scope.myinput.focus”)”

基本情况是通过单击另一个元素触发输入焦点。我创造了一个例子来说明这个问题

注意:我对jquery解决方案不感兴趣


感谢您的帮助。

给文本框一个ID,并使用基本javascript将其聚焦:

document.getElementById('theboxid').focus();
角度的一个原则是避免与DOM耦合,因此出于可测试性的原因,代码不应该在控制器中。这是个坏习惯,但你可以做到


在这里拉小提琴:

在答案中的Check out指令似乎angular无法设置元素的焦点。您的答案是有效的,并且不使用Jquery-不过,进一步的解释会有所帮助。