Colocar el foco en un elemento AngularJS
HTML
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css">
<h1>Ejemplo de foco en un campo con AngularJS</h1>
<p class="alert alert-danger">No es lo recomendado, pero solo con fines ilustrativos:</p>
<div ng-app="demo">
<div ng-controller="FocusSampleCtrl" class="container">
<label class="control-label">Campo 1:</label>
<input type="text" id="campo1" />
<label class="control-label">Campo 2:</label>
<input type="text" id="campo2" class="focus" />
<label class="control-label">Campo 3:</label>
<input type="text" id="campo3" />
</div>
</div>
<p class="alert alert-warning">Se recomienda <a href="http://jsfiddle.net/miguelerm/4Lb7d8x9/" target="_blank">utilizar directivas</a> para resolver problemas de este tipo.</p>
JavaScript
angular
.module("demo", [])
.controller('FocusSampleCtrl', function() {
/* == Lógica para enfocar el elemento == */
var element = findElement("#campo2");
element.focus();
/* == Fin de la Lógica para enfocar el elemento == */
});
function findElement(query)
{
//Funcion para realizar la busqueda del elemento.
var id = document.querySelector(query);
var elements = angular.element(id);
return elements[0];
}