如何使用Angular JS集中输入

时间:2013-12-19 01:36:00

标签: javascript angularjs

使用AngularJS如何从控制器中聚焦文本输入?

我尝试过使用以下内容:

$scope.myinput.focus();

这会抛出一个错误: “undefined”不是一个对象(评估'$ scope.myinput.focus')“

基本情况是通过单击另一个元素来触发输入焦点。我创建了一个fiddle来显示问题。

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

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

为文本框指定一个ID,并使用基本的javascript对其进行聚焦:

document.getElementById('theboxid').focus();

Angular的一个原则是避免与DOM耦合,因此出于可测试性原因,代码不应该在您的控制器中。这是不好的做法,但你可以做到。

在这里小提琴:http://jsfiddle.net/mh33X/14/