zoukankan      html  css  js  c++  java
  • angular input框点击别处 变成不可输入状态

    <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();
            }
          });
        }
      };
    });
  • 相关阅读:
    file
    shell脚本的执行
    添加源,删除源
    lsattr, chattr
    umask
    od
    init
    sync
    wc
    history
  • 原文地址:https://www.cnblogs.com/YangqinCao/p/5788326.html
Copyright © 2011-2022 走看看