我有一个输入框,上面有一些建议。我希望只在光标对准输入框时显示建议,并在光标从输入框移开时隐藏建议。

目前,我正在像下面这样一个困难的方式。

的HTML

   <input ngFocus="showSuggesions('div_id') ng-blur="hideSuggesions('div_id')" >


的JavaScript

    $scope.showSuggessions = function(div_id){
       document.getElementById(div_id).style.display = "block";
    }
    $scope.hideSuggessions = function(div_id){
       document.getElementById(div_id).style.display = "none";
    }


我想要的是

<input ngFocus=( iftrue ? ngShow.div_id : ngHide.div_id )>


我是angularJS的新手,我认为以简单的方式进行操作将使此代码更具可读性。我不知道angulaJS的许多功能。如果这个问题完全没有道理,对不起。

最佳答案

那这个呢?

 <input ng-focus="showSuggestions = true" ng-blur="showSuggestions = false" >
 <div id="div_id" ng-show="showSuggestions"></div>


div是包含建议的元素。在输入焦点上,您将显示div,在模糊时,您将隐藏它。请注意,模糊时“移开光标”并不相同。

还要小心“ showSuggestions”的拼写。

09-27 09:54