我有一个输入框,里面有一个建议列表。我希望仅在输入框被光标聚焦时才显示建议,并在光标从输入框移开时隐藏建议。
目前我正在以如下困难的方式进行。
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”的拼写。
关于javascript - 显示 onFocus 和 hide 以及 onBlur 在 angular js 中组合的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34331997/