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);
}
});
}
};
});是的,我已经试过了。自动对焦的问题是它只在第一次工作。@user3797739您找到解决方案了吗?我也想学。不,我还是不能让它工作。自动对焦技巧只在第一次起作用。