0

我创建了一个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中的元素?

回答

4

我找到了解决方案: 当我将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

+0

的伟大工程!特别是因为在大多数情况下,您无法访问此链接功能。 – Void