angular.js - angular ng-focus ng-blur 存在问题
仅有的幸福
仅有的幸福 2017-05-15 17:07:46
0
2
546

-.html

<input type="text" ng-focus="display = false" ng-blur="display = true" ng-init="display = true">
<p ng-show="display">aaa</p>

如上述代码,focus/blur可以正常控制p标签的显示与隐藏

-.html

<input type="text" ng-focus="display = false" ng-blur="hide()" ng-init="display = true">
<p ng-show="display">aaa</p>

-controller.js

$scope.hide = function (){
    $scope.display = true;
};

上述代码只要focus input,display一直为false, 求解。

续:

老衲服了,贴出项目代码如下:

-.html

    <p class="form-group">
        <label class="form-label">应用名:</label>
        <span class="desc" ng-show="applyTips"
   ng-init="applyTips = true"> 应用名是您将要创建的应用的名称,组织内唯一</span>
       <span class="warn" ng-show="applyNameExit">应用名已存在,请重新输入</span>
       <span class="warn" ng-show="login.applyName.$error.pattern">您的应用名不正确</span>
       <p class="controls">
            <input type="text" name="applyName" class="form-control"
               ng-model="param.deployment.metadata.name"
               ng-pattern="/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/" ng-focus="applyTips=false"
               ng-blur="login.applyName.$error.pattern ? applyTips = false : nameIsExit();"
               required>
        </p>
    </p>
    

-controller.js

$scope.nameIsExit = function (){

    if($scope.param.deployment.metadata.name !='' && $scope.param.deployment.metadata.name != undefined){
        var param = {
            orgId: $localStorage.orgId,
            userId: $localStorage.userId,
            sessionId: $localStorage.sessionId,
            "name": $scope.param.deployment.metadata.name
        };
        deploymentService.applyNameisExit(param, function(res){
            if(res.code == 1415){
                $scope.applyTips = false;
                $scope.applyNameExit = true;
                $scope.submit = function(){
                    return;
                }
    
            }else{
                $scope.applyTips = true;
                $scope.applyNameExit = false;
    
            }
        });
    }
    else{
        $scope.applyTips = true;
    }
};

input失去焦点后,提示信息不再显示。

仅有的幸福
仅有的幸福

membalas semua(2)
滿天的星座

ng-blur Tulis sahaja ungkapan di dalamnya
ng-blur="isHide"

Tetapkan nilai kepada isHide dalam pengawal
$scope.isHide=true;

Begitu juga dalam ng-focus

Dokumentasi laman web rasmi

伊谢尔伦

Anak muda ni, saya syak ada yang tak kena dengan postur awak.

<body ng-app="myApp">
    <p ng-controller="MyCtrl">
         <input type="text" ng-focus="display = false" ng-blur="hide()" ng-init="display = true">
         <p ng-show="display">aaa</p>
    </p>
    <script type="text/javascript">
        var app = angular.module('myApp', []);
        app.controller('MyCtrl',function($scope){
            $scope.hide = function (){
                $scope.display = true;
            }
        });
    </script>
</body>

如果还有问题,我保证让你自切jj

--------------------------------Hehehe-------------- - ------------------------

$scope.param = {
    deployment:{
        metadata:{

        }
    }
}

Buka konsol dan semak mesej ralat untuk menyelesaikan masalah.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan