ionic获取焦点
功能需求:点击按钮后获取input输入框的焦点
获取焦点用jq focus()不成功,因为angular也不推荐,所以网上找了一个在focus封装成指令的方法
指令写法:
.directive('myfocus', function($timeout, $parse) {
return {
link: function(scope, element, attrs) {
var model = $parse(attrs.myfocus);
scope.$watch(model, function(value) {
if(value === true) {
$timeout(function() {
element[0].focus();
});
}else if(value === false){
$timeout(function() {
element[0].blur();
});
}
});
}
};
});
html写法:
<span>用户昵称:<input id="nickname" type="text" myfocus="isOpen" ng-model="userInfo.nickname" /></span>
<a ng-click="onChangeId()"></a>
注意myfocus的写法,原网址写的是my-focus,但是不成功,去掉-可以,好像是ng指令调用写法问题,ng好的应该一眼就知道怎么回事了
controller写法:
$scope.onChangeId = function(){
$scope.isOpen = true;
}