Angular:输入失去焦点后,下拉菜单关闭得太快

Angular: Dropdown menu closes too quickly after input loses focus

本文关键字:下拉菜单 输入 失去 焦点 Angular      更新时间:2023-09-26

我试图建立一个搜索输入与下拉菜单附加到它。我已经将菜单设置为当输入框失去焦点时关闭。

问题:当我点击下拉菜单中的链接时,甚至在注册任何事件之前菜单就关闭了。

// Search input box
<input type="text" ng-blur="lostFocus()" eva-search />
// Dropdown menu
<div class="component-styleWrap"
     ng-click="$event.stopImmediatePropagation(); $event.stopPropagation()">
  <li>Example Link</li>
  <li>Example Link</li>
</div>

如果您只是想延迟调用lostFocus()的效果,那么超时应该足够了。

app.controller("myController", function ($scope,  $timeout) {
    $scope.lostFocus = function () {
        $timeout(function () {
            //whatever your code needs to do goes here.
        }, 100);
     });
});

你不应该真的需要100在那里。我只是为了安全起见才加上的。