Angularjs 角度隐藏模糊上的元素

Angularjs 角度隐藏模糊上的元素,angularjs,Angularjs,我得到了两个元素段落和输入标记。当我点击段落时,输入应该显示,段落应该隐藏。当输入模糊时,输入应隐藏,段落应显示。 我试过了,但没用 <p ng-click="edit = true" ng-show="!edit">some text</p> <div ng-show="edit" ng-blur="edit = false"> <input type=text name="email" ng-blur="blurUpdate()" />

我得到了两个元素段落和输入标记。当我点击段落时,输入应该显示,段落应该隐藏。当输入模糊时,输入应隐藏,段落应显示。 我试过了,但没用

<p ng-click="edit = true" ng-show="!edit">some text</p>
<div ng-show="edit" ng-blur="edit = false">
    <input type=text name="email" ng-blur="blurUpdate()" />
</div>

一些文本


ng模糊
移动到
输入
请参见下面的演示

var-app=angular.module('app',[]);
app.controller('homeCtrl',函数($scope,$timeout){
$scope.showEditor=函数(){
$scope.edit=true;
var textbox=document.getElementById(“输入电子邮件”);
var tmp=$scope.text
$scope.text=“”
$timeout(函数(){
textbox.focus();
$scope.text=tmp;
});
}
$scope.blurUpdate=函数(){
//添加这一行
$scope.edit=false;
//你的代码
}
});

{{{text}


ngBlur与输入标签兼容,这就是它不工作的原因:

<p ng-click="edit = true" ng-show="!edit">some text</p>
<div ng-show="edit" >
<input type=text ng-blur="edit = false" name="email" />
</div>

一些文本


这是问题中的一个输入错误,还是您真的忘记了
=
之后的
ng blur
?另外,尝试将
ng blur
置于
输入
而不是
div
上。抱歉,这是一个有问题的打字错误。我在div中有图标。我想把它们也隐藏起来。对不起,我没有提到我在input blur中有另一个功能。如何设置现在。问题编辑然后你应该改变方法:div上的ngBlur没有用。函数blurUpdate必须更改$scope.edit,才能执行所显示的操作。很好,但我也需要它的焦点。现在我需要点击两次以获得输入的焦点。一个简单的解决方案是:在div上设置ngIf,然后添加一个小指令,将焦点添加到输入的init上。这个解决方案每次都会创建和删除输入,尽管很抱歉我没有提到我在输入模糊中有另一个函数。如何设置现在。问题:我的问题。很好,但我也需要它的焦点。现在我需要单击两次以获得输入的焦点。@AbelD这是另一个问题的主题:),但我相信这里已经问了很多次了,所以您可以很容易地在这里找到解决方案