如何使用 Angular JS 聚焦输入

How to focus an input using Angular JS

本文关键字:聚焦 输入 JS Angular 何使用      更新时间:2023-09-26

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

我尝试使用以下方法:

$scope.myinput.focus();

这将引发错误:"undefined"不是对象(评估"$scope.myinput.focus")"

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

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

感谢您的帮助。

给文本框一个 ID 并使用基本的 JavaScript 聚焦它:

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

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

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