Bootstrap $uibModal 焦点到元素

Bootstrap $uibModal focus to element

我创建了一个 AngularJs 指令,它将焦点设置到 html 元素。 但它不适用于 $uibModal 元素:

angular.module('ui.bootstrap.demo')
    .directive('focus', ['$timeout', function ($timeout) {
        return {
            restrict: 'A',
            link: function postLink(scope, element, attrs) {
                scope.$watch(attrs.focus, function(value) {
                    if(value === true) {
                        $timeout(function() {
                            element[0].focus();
                        });
                    }
                });
            }
        };
    }]);

http://plnkr.co/edit/BrnFt1kYZN7VsIFRCt3S?p=preview

如何将焦点设置到 $uibModal 中的元素?

我找到了解决方案: 当我将 autofocus 属性添加到输入元素时,$uibModal 将焦点设置到它。

    <div class="modal-body">
        <p class="input-group">
          <input type="text" class="form-control" autofocus/>
        </p>
    </div>

http://plnkr.co/edit/yMNLLnSZL86ZYLsnuDV9?p=preview