Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 使用Angular JS仅在模式对话框上的按钮上设置一次焦点_Angularjs_Modal Dialog_Focus - Fatal编程技术网

Angularjs 使用Angular JS仅在模式对话框上的按钮上设置一次焦点

Angularjs 使用Angular JS仅在模式对话框上的按钮上设置一次焦点,angularjs,modal-dialog,focus,Angularjs,Modal Dialog,Focus,我的网页上有一个按钮。如果我单击该按钮,将打开模式对话框,其中有两个按钮(OK&Cancel)。我想我的网页是没有鼠标操作。因此,当模态对话框打开时,会自动。焦点应设置在OK按钮上。当对话框关闭时,焦点应该设置在网页上的原始按钮上。我的代码如下。当我第一次点击Open按钮时,焦点设置在OK按钮上。但是当我关闭模式并重新打开它时,它并没有被设置在OK按钮上 $scope.OpenModal=function(){ //弹出模式对话框 $scope.modalTitle=“确认?”; $scope

我的网页上有一个
按钮
。如果我单击该按钮,将打开模式对话框,其中有两个按钮(
OK&Cancel
)。我想我的网页是没有鼠标操作。因此,当模态对话框打开时,会自动。焦点应设置在
OK
按钮上。当对话框关闭时,焦点应该设置在网页上的原始按钮上。我的代码如下。当我第一次点击
Open
按钮时,焦点设置在
OK
按钮上。但是当我关闭模式并重新打开它时,它并没有被设置在
OK
按钮上

$scope.OpenModal=function(){
//弹出模式对话框
$scope.modalTitle=“确认?”;
$scope.note=null;
$scope.modalShown=!$scope.modalShown;
$scope.focusInput=true;
$scope.ok=函数(){
$scope.Message=“已确认”;
_ClearKuFormonConfig();
$scope.modalShown=false;
$scope.focusInput=true;
}
$scope.cancel=函数(){
$scope.Message=“已取消”;
_clearSKUFormOnCancle();
$scope.modalShown=false;
$scope.focusInput=true;
}
}
app.directive('modalDialog',function(){
返回{
限制:'E',
范围:{
显示:'='
},
replace:true,//替换为下面的模板
transclude:true,//我们希望在指令中插入自定义内容
链接:函数(范围、元素、属性){
scope.dialogStyle={};
if(属性宽度)
scope.dialogStyle.width=attrs.width;
if(属性高度)
scope.dialogStyle.height=attrs.height;
scope.hideModal=函数(){
scope.show=false;
};
},
模板:“x”
};
});
app.directive('focusMe',函数($timeout,$parse){
返回{
链接:函数(范围、元素、属性){
var模型=$parse(attrs.focusMe);
范围$watch(型号、功能(价值){
log('value=',value);
如果(值===true){
$timeout(函数(){
元素[0]。焦点();
}, 20);
}
});
元素绑定('blur',function(){
console.log('blur')
范围$apply(模型分配(范围,假));
})
}
};
});

打开
{{modalTitle}}
{{modalMessage}}

好啊 取消
我发现,当弹出窗口第二次打开时,基本上不会调用我的指令“focusMe”。但我找不到解决办法。请建议。