在angularjs中的某个字段上设置条件焦点
各位工程师,大家好,我已经看到了很多关于设置某个输入字段焦点的问题和建议答案,但我没有找到任何能够满足我要求的答案,现在我的问题是,如果我们有多个输入字段,我们不知道在哪里设置焦点,在某种条件下,我想将焦点设置在控制器返回的某个字段上,是否有类似于“document.getElementbyId(“”.focus)”的内容,如javascript中带有“ng model”之类的内容,任何帮助都将不胜感激。当传入的表达式为真时,此指令将使元素接收焦点 用法:在angularjs中的某个字段上设置条件焦点,angularjs,Angularjs,各位工程师,大家好,我已经看到了很多关于设置某个输入字段焦点的问题和建议答案,但我没有找到任何能够满足我要求的答案,现在我的问题是,如果我们有多个输入字段,我们不知道在哪里设置焦点,在某种条件下,我想将焦点设置在控制器返回的某个字段上,是否有类似于“document.getElementbyId(“”.focus)”的内容,如javascript中带有“ng model”之类的内容,任何帮助都将不胜感激。当传入的表达式为真时,此指令将使元素接收焦点 用法: <!-- set `$scope
<!-- set `$scope.foo` to a truthy value when this input should be focused -->
<input type="text" focus-when="foo">
<button ng-click="foo = true">Focus input.</button>
对于给定的演示非常感谢,但文本框将重点放在按钮的某些事件上,我不能使用指令,因为我有这么多的文本字段。如果我想根据下面控制器的某些条件关注某个字段,最重要的是code@irfanshafi这个指令的作用就是——它允许您根据控制器的条件(表达式)聚焦输入。也许您不明白按钮在做什么?函数MyCtrl($scope.keylog=[];$scope.keyCount=0;var len;$scope.handleKeypress=function(key){$scope.keylog.push(key);if($scope.keylog[len-1]==17&$scope.keylog[len]==13)$scope.addUser();len=$scope.keylog.length;};}调用函数“adduser()”后,我想关注一些文本field@irfanshafi是的,请仔细检查我的答案。假设您将
foo
传递给指令,然后在控制器中设置$scope.foo=true
,输入将被聚焦。这与我的示例中按钮所做的相同。
.directive('focusWhen', function() {
return {
scope: {
focusWhen: '='
},
link: function($scope, $element) {
$scope.$watch('focusWhen', function(shouldFocus) {
if (shouldFocus) {
$element[0].focus();
}
});
}
};
})