Angularjs 有焦点吗

Angularjs 有焦点吗,angularjs,Angularjs,我正在构建一个可搜索/可选择的组合框,并希望在失去焦点时关闭控件。使用tabindex和ng blur,除非有可以接收焦点(搜索输入)的子控件,否则此操作有效 是否有方法检查top div组合中是否有任何具有焦点的子控件? 简化代码: <div name="combo" ng-click="show=!show" ng-show="show" ng-blur="show=false" tabindex="1"> <input type="text" name="sear

我正在构建一个可搜索/可选择的组合框,并希望在失去焦点时关闭控件。使用tabindex和ng blur,除非有可以接收焦点(搜索输入)的子控件,否则此操作有效

是否有方法检查top div组合中是否有任何具有焦点的子控件?

简化代码:

<div name="combo" ng-click="show=!show" ng-show="show" ng-blur="show=false" tabindex="1">
    <input type="text" name="search" ng-model="search">
    <div ng-repeat="person in persons | filter:search">
       {{ person.name }}
    </div>
</div>

{{person.name}

很可能父级下唯一具有焦点的元素

...

link: function(scope, elm, attr)
{
  scope.$watch(function()
  {
    return angular.element(elm.find('*:focus'));
  },
  function(focusedElm)
  {
    /** here be dragons **/
  });
}

...