Html 使用angularjs单击时强制聚焦输入字段

Html 使用angularjs单击时强制聚焦输入字段,html,angularjs,input,focus,Html,Angularjs,Input,Focus,我有一个文本框,可以在单击时显示输入字段,并在模糊时隐藏它。问题是当显示输入时,它不是自动聚焦的。只有单击文本框,然后单击输入,模糊才会生效。但是,当您单击文本框一次并转到其他地方时,仍然可以看到输入。是否可以在单击时自动聚焦输入字段?或者也许有更好的方法 <div data-ng-init="editMode = false"> <p data-ng-show="!editMode" data-ng-click="editMode = true">{{color

我有一个文本框,可以在单击时显示输入字段,并在模糊时隐藏它。问题是当显示输入时,它不是自动聚焦的。只有单击文本框,然后单击输入,模糊才会生效。但是,当您单击文本框一次并转到其他地方时,仍然可以看到输入。是否可以在单击时自动聚焦输入字段?或者也许有更好的方法

<div data-ng-init="editMode = false">
    <p data-ng-show="!editMode" data-ng-click="editMode = true">{{color}}</p>
    <span data-ng-show="editMode">
       <input data-ng-blur="editMode = false" data-ng-model="color">
    </span>
  </div>

{{color}

提前感谢您的帮助

您可以对输入应用“自动对焦”

<div data-ng-init="editMode = false; color='Green'">
<p data-ng-show="!editMode" data-ng-click="editMode = true">{{color}}</p>
<span data-ng-show="editMode">
   <input data-ng-blur="editMode = false" data-ng-model="color" autofocus>
</span>

{{color}


我建议可以稍微使用jquery。从ng click调用一个函数,该函数执行jquery进行自动聚焦,如下所示:

$("#textInputId").focus();
参考:

angular.module('ng')。指令('autoFocus',函数($timeout){
返回{
链接:函数(范围、元素、属性){
范围$watch(自动对焦,功能(val){
如果(角度已定义(val)&&val){
$timeout(函数(){element[0].focus();});
}
},对);
元素绑定('blur',函数(){
如果(角度已定义(自动聚焦丢失)){
范围:$apply(attrs.autoFocusLost);
}
});
}
};

});