AngularJS/UI - 在对话框中聚焦输入

Rog*_*son 11 angularjs angular-ui angular-ui-bootstrap

有没有办法使用AngularJS/Angular-UI在输入控件中设置焦点?

我看到Angular-UI有一些Jq-UI =焦点指令,但我无法让它工作.

我有一些使用Angular-UI $对话框服务显示的对话框,并且非常希望每个对话框上的第一个输入在获得焦点后获得焦点

Yan*_*dal 19

我autofocus在模板中使用了标准属性,并声明了一个简单的指令,使其适用于页面加载后创建的元素(如您的情况下的对话框).

app.directive('autofocus', function () {
  return {
    restrict: 'A',
    link: function (scope, element) {
      element[0].focus();
    }
  };
});
Run Code Online (Sandbox Code Playgroud)

  • 一个美丽的解决方案,我将在我的代码中进行调整! (2认同)

Rog*_*son 10

事实证明,如果你将它与Angular-ui $对话框服务一起使用,你需要的就是这个:

app.directive('focusMe', function ($timeout) {    
    return {    
        link: function (scope, element, attrs, model) {                
            $timeout(function () {
                element[0].focus();
            });
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

HTML:

  <input type="text" focus-me >
Run Code Online (Sandbox Code Playgroud)

如上所述,这仅适用于Angular-UI $对话服务.

在这里看到它:http://strengthtracker.apphb.com (点击登录或注册以显示对话框)


Epo*_*okK -5

最新版本的AngularJS优惠ng-focus:http://docs.angularjs.org/api/ng/directive/ngFocus

  • 这是当某个字段被聚焦时的回调。 (4认同)