简单焦点不适用于角度
<div class="search pull-right tab-{{ showDetails2 }}" data-ng-click="showDetails2 = !showDetails2; showDetails = false; showDetails1 = false;searchFocus();">
HTML
<input type="text" data-ng-model="model.fedSearchTerm"
placeholder="New Search" required class="span12 fedsearch-box" />
我的功能
$scope.searchFocus = function() {
$('.fedsearch-box').focus();
};
答案 0 :(得分:13)
我遇到了同样的问题。通过将焦点命令包含在$ timeout内来解决它。确保在.controller函数中传递$ timeout参数。
$timeout(function() { $('.fedsearch-box').focus(); });
答案 1 :(得分:11)
这是一个更强大的实现,效果非常好:
myApp.directive('focusMe', function () {
return {
link: function(scope, element, attrs) {
scope.$watch(attrs.focusMe, function(value) {
if(value === true) {
element[0].focus();
element[0].select();
}
});
}
};
});
<input type="text" ng-model="stuff.name" focus-me="true" />
答案 2 :(得分:1)
您可以为此目的编写指令,如;
myApp.directive('focus', function () {
return function (scope, element, attrs) {
element.focus();
}
});
在你的HTML中;
<input type="text" data-ng-model="model.fedSearchTerm"
placeholder="New Search" required focus />