代码可直接运行:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="control">
<input type="text" set-Focus ng-blur="setBlur()">
<button ng-click="getFocus()">点击获取焦点</button>
</div>
<script type="text/javascript">
//模型
var app = angular.module('myApp',[]);
//控制器
app.controller("control",function($scope){
$scope.isCome = false;
$scope.isFocus = false;
$scope.getFocus = function(){
$scope.isFocus = true;
$scope.isCome = true;
};
$scope.setBlur = function(){
$scope.isFocus = false;
alert('失去焦点')
}
});
//自定义指令
app.directive('setFocus',[ function(){
return {
scope:false,
link:function(scope, element){
scope.$watch("isFocus",function(newValue,oldValue, scope) {
if(newValue && scope.isCome){
element[0].focus(); //获取焦点
alert("获取到焦点了")
}
}, true);;
}
};
}]);
</script>
</body>
</html>