<input type="text" ng-model="edit" ng-disabled="!editable" focus-me="editable" ng-blur="editable=false">
<i class="kb-icon bpos-x0 bpos-y0 pull-right" ng-click="edit($index,$event)" ng-class='editable?"hide":""'></i>
$scope.editable=false;

上面是一个输入框,一开始是初始化是不可编辑状态,点击图标<i>改变编辑状态,当可编辑的时候<i>图标会消失,然后点击其他地方,input框就会自动保存,变回不可编辑状态。这里用到的技术主要是ng-blur,判断input框是否失焦,一旦失去焦点就改变editable为false.

这里的focus-me是一个directive,当变成可编辑状态时,立即获得焦点。

app.directive('focusMe', function () {
return {
restrict: 'A',
scope: {
focusMe: '='
},
link: function (scope, element, attr, ngModel) {
scope.$watch('focusMe', function (val) {
if (val) {
element[0].focus();
}
});
}
};
});

最新文章

  1. Sanboxie 5.14安装图解
  2. 微信支付开发(1) JS API支付
  3. js用户修改密码功能模块
  4. [Java][Weblogic] weblogic.net.http.SOAPHttpsURLConnection incompatible with javax.net.ssl.HttpsURLConnection解决办法
  5. slf4j,log4j,logback 初步使用
  6. crontab添加定时任务
  7. 网易前端JavaScript编码规范【转】
  8. CRM-性能测试报告
  9. 前端插件Emmet
  10. LA 2889 (找规律) Palindrome Numbers
  11. mysql 修改root密码多种方法
  12. sizeof对int long double char的使用
  13. android createbitmap函数内存溢出,求解怎样进行处理out of memory溢出问题
  14. T-SQL中default值的使用
  15. 用户 &#39;IIS APPPOOL\.NET v4.5 Classic&#39; 登录失败。
  16. [Java]LeetCode237. 删除链表中的节点 | Delete Node in a Linked List
  17. jsp基础语言-jsp指令
  18. 基于 Confluence 6 数据中心的 SAML 单点登录设置 SSL/TLS
  19. OpenWrt 对外网开放vsftp服务和samba服务
  20. 阿里云(四)Linux 实例常用内核网络参数介绍与常见问题处理

热门文章

  1. 极简bootstrap file 美化样式(无需第三方插件)
  2. node的源码安装
  3. js获取时间差值
  4. OpenLayers使用弹出窗口
  5. RestFul 与 RPC
  6. Linux硬链接和软连接
  7. 使用Redis管道提升性能
  8. CMake学习笔记六-引用cmake文件
  9. SSM+Maven+IDEA增删改查
  10. SQLServer —— 流程控制语句