2013-12-19 5 views
-1

Использование AngularJS, как я могу сфокусировать ввод текста с контроллера?Как сфокусировать вход с помощью Angular JS

Я попытался с помощью следующих действий:

$scope.myinput.focus(); 

Это выдает ошибку: "не определено» не является объектом (с оценкой '$ scope.myinput.focus')"

Основная ситуация заключается в том, чтобы вызвать фокус ввода при нажатии на другой элемент. Ive создал fiddle, чтобы показать проблему.

Примечание: меня не интересуют решения jquery.

Благодарим за помощь.

+1

Заканчивать директива в ответ на http://stackoverflow.com/questions/14076783/angularjs-focusing-a-input-element-when-a-checkbox-is-clicked –

ответ

1

Дайте текстовое поле идентификатор и фокусировать его с помощью основного JavaScript:

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

Принципа углового, чтобы избежать связи с DOM, хотя, так что код не должен быть в контроллере по причинам тестируемости. Это плохая практика, но вы можете это сделать.

Fiddle здесь: http://jsfiddle.net/mh33X/14/

+0

Это кажется, что угловой неспособен установить фокус элементов. Ваш ответ работает и не использует JQuery - дальнейшее объяснение было бы полезным, хотя. –

Смежные вопросы