Javascript 双击时在文本字段中设置焦点

Javascript 双击时在文本字段中设置焦点,javascript,angularjs,Javascript,Angularjs,我创建了一个指令,在执行双击事件时在文本字段中设置焦点,但它不起作用。请参阅下面我的CSS、HTML和JavaScript。 我还尝试使用DOM获取文本字段元素,并使用element.focus()设置焦点,但它不起作用 var-app=angular.module('todoApp',[]) app.controller('todoListController',函数($scope){ $scope.todoList=[ {id:1,名称:“apprendre angular”,完成:fal

我创建了一个指令,在执行双击事件时在文本字段中设置焦点,但它不起作用。请参阅下面我的CSS、HTML和JavaScript。 我还尝试使用DOM获取文本字段元素,并使用
element.focus()
设置焦点,但它不起作用

var-app=angular.module('todoApp',[])
app.controller('todoListController',函数($scope){
$scope.todoList=[
{id:1,名称:“apprendre angular”,完成:false},
{id:2,名称:“apprendre spring”,完成:true}
];
$scope.destroy=函数(索引){
$scope.todoList.splice(索引1);
}
$scope.addTodo=函数(){
$scope.todoList.push({name:$scope.newtodo,completed:false});
$scope.newtodo=“”;
}
$scope.editto=函数(todo){
todo.edit=false;
}
});
应用程序指令('todoFocus',函数todoFocus($timeout){
"严格使用",;
返回函数(范围、元素、属性){
范围.$watch(attrs.todoFocus,函数(newVal){
if(newVal){
$timeout(函数(){
元素[0]。焦点();
},0,假);
}
});
};
});
html,
身体{
保证金:0;
填充:0;
}
钮扣{
保证金:0;
填充:0;
边界:0;
背景:无;
字体大小:100%;
垂直对齐:基线;
字体家族:继承;
字体大小:继承;
颜色:继承;
-webkit外观:无;
外观:无;
-webkit字体平滑:抗锯齿;
-moz字体平滑:抗锯齿;
字体平滑:抗锯齿;
}
身体{
字体:14px“Helvetica Neue”,Helvetica,Arial,无衬线;
线高:1.4em;
背景:#f5;
颜色:#4d;
最小宽度:230px;
最大宽度:550px;
保证金:0自动;
-webkit字体平滑:抗锯齿;
-moz字体平滑:抗锯齿;
字体平滑:抗锯齿;
字体大小:300;
}
按钮
输入[type=“checkbox”]{
大纲:无;
}
.隐藏{
显示:无;
}
#托多普{
背景:#fff;
利润率:130px 0 40px 0;
位置:相对位置;
盒影:0 2px4p0 rgba(0,0,0,0.2),
25px50px0rgba(0,0,0,0.1);
}
#todoapp输入::-webkit输入占位符{
字体:斜体;
字体大小:300;
颜色:#E6;
}
#todoapp输入::-moz占位符{
字体:斜体;
字体大小:300;
颜色:#E6;
}
#todoapp输入::输入占位符{
字体:斜体;
字体大小:300;
颜色:#E6;
}
#托多普h1{
位置:绝对位置;
顶部:-155px;
宽度:100%;
字体大小:100px;
字号:100;
文本对齐:居中;
颜色:rgba(175,47,47,0.15);
-webkit文本呈现:优化易读性;
-moz文本呈现:优化易读性;
文本呈现:优化易读性;
}
#新的待办事项,
.编辑{
位置:相对位置;
保证金:0;
宽度:100%;
字体大小:24px;
字体家族:继承;
字体大小:继承;
线高:1.4em;
边界:0;
大纲:无;
颜色:继承;
填充:6px;
边框:1px实心#999;
盒影:插入0-1px5px0RGBA(0,0,0,0.2);
框大小:边框框;
-webkit字体平滑:抗锯齿;
-moz字体平滑:抗锯齿;
字体平滑:抗锯齿;
}
#新待办事项{
填充:16px 16px 16px 60px;
边界:无;
背景:rgba(0,0,0,0.003);
盒影:插入0-2px1pRGBA(0,0,0,0.03);
}
#主要{
位置:相对位置;
z指数:2;
边框顶部:1px实心#e6;
}
标签[for='toggle-all']{
显示:无;
}
#全部切换{
位置:绝对位置;
顶部:-55px;
左-12px;
宽度:60px;
高度:34px;
文本对齐:居中;
边框:无;/*移动Safari*/
}
#切换全部:之前{
内容:'❯';
字体大小:22px;
颜色:#E6;
填充:10px 27px 10px 27px;
}
#切换全部:选中:之前{
颜色:#7373;
}
#待办事项清单{
保证金:0;
填充:0;
列表样式:无;
}
#待办事项列表李{
位置:相对位置;
字体大小:24px;
边框底部:1px实心#ededed;
}
#待办事项列表李:最后一个孩子{
边框底部:无;
}
#待办事项列表li.editing{
边框底部:无;
填充:0;
}
#待办事项列表li.editing.edit{
显示:块;
宽度:506px;
填充:13px 17px 12px 17px;
利润率:043px;
}
#待办事项列表li.editing.view{
显示:无;
}
#待办事项列表li.toggle{
文本对齐:居中;
宽度:40px;
/*自动,因为非WebKit浏览器不支持输入样式*/
高度:自动;
位置:绝对位置;
排名:0;
底部:0;
保证金:自动0;
边框:无;/*移动Safari*/
-webkit外观:无;
外观:无;
}
#待办事项列表li.切换:之后{
内容:url('data:image/svg+xml;utf8');
}
#待办事项列表li.切换:选中:之后{
内容:url('data:image/svg+xml;utf8');
}
#待办事项列表标签{
空白:行前;
单词break:打破一切;
填充:15px 60px 15px 15px;
左边距:45像素;
显示:块;
线高:1.2;
过渡:颜色0.4s;
}
#待办事项列表li.completed标签{
颜色:#d9d9d9;
文字装饰:线条贯通;
}
#待办事项列表李。销毁{
显示:无;
位置:绝对位置;
排名:0;
右:10px;
底部:0;
宽度:40px;
高度:40px;
保证金:自动0;
字体大小:30px;
颜色:#CC9A;
边缘底部:11px;
过渡:颜色0.2s缓变;
}
#待办事项列表李。销毁:悬停{
颜色:#af5b5e;
}
#待办事项列表李。销毁:之后{
内容:“×”;
}
#待办事项列表李:悬停。销毁{
显示:块;
}
#待办事项列表li.edit{
显示:无;
}
#待办事项列表li.编辑:最后一个孩子{
边缘底部:-1px;
}
#页脚{
颜色:#777;
填充:10px 15px;
高度:20px;
文本对齐:居中;
边框顶部:1px实心#e6;
}
#页脚:之前{
内容:'';
位置:绝对位置;
右:0;
底部:0;
左:0;
高度:50px;
溢出:隐藏;
长方体阴影:0 1px 1px rgba(0,0,0,0.2),
0 8px 0-3px#F6F6,
0.9px 1px-3px rgba(0,0,0,0.2),
0 16px 0-6px#f6f6f6,
017px2px-6pxrgba(0,0,0,0.2);
}
#待办事项{
浮动:左;
文本对齐:左对齐;
}
#待办事项{
字体大小:300;
}
#过滤器{
保证金:0;
填充:0;
列表样式:无;
位置:绝对位置;
右:0;
左:0;
}
#过滤力{
显示:内联;
}
#李娜{
颜色:继承;
保证金:3倍;
填充:3px7px;
文字装饰:无;
边界:1倍左右
<input class="edit" ng-model="todo.name" ng-blur="editTodo(todo)" todo-focus="todo == true" >
scope.$watch(attrs.todoFocus, function (newVal) {