据说我有一个像这样的输入文本标记:
<input type="text" ng-focus="x = true" ng-blur="x = false">
所以当你点击它时,这个div显示出来:
<div ng-show="x === true">
<ul>
<li ng-click="choose(1)">First</li>
<li ng-click="choose(2)">Second</li>
<li ng-click="choose(3)">Third</li>
</ul>
</div>
当我单击列表中的一个选项时,div会被隐藏,因为文本字段中的ng-blur
被触发,因此,选择中的ng-click
不会被执行(或者这就是我的情况所发生的事情)。这有什么解决方法吗?感谢。
答案 0 :(得分:1)
有点黑客将你的ngBlur
放在$timeout
推回一个摘要中。
<input type="text" ng-focus="x = true" ng-blur="hideFields()">
function hideFields() {
$timeout(function() {
$scope.x = false;
});
}