2016-04-08 15 views
0

クリック時にdiv要素のCSSクラスを変更しようとしています。以下は私が試しているコードです。 'input-large'はデフォルトで有効になっているはずです。 'input-large input-active'はユーザー名をクリックするとアクティブになり、他の場所をクリックすると非アクティブになります。私はクリックでdivを変更する方法を教えてください angularJsのクリック時にCSSクラスを変更

<div class="input-large"> 
 
    <label class="input-label">Username</label> 
 
    <input class="input-field" type="text"> 
 
</div> 
 

 
<div class="input-large input-active"> 
 
      <label class="input-label">Username</label> 
 
      <input class="input-field" type="text"> 
 
</div>

答えて

0

使用してくださいNGクリックして、NG-ぼかし はでスニペットは、次のとおり

http://jsfiddle.net/atXAC/11/

<div ng-controller="MyCtrl"> 

<div ng-class="{'active':hasFocus==true,'inactive':hasFocus==false}">Enter your Name here</div> 
<input type="text" ng-model="user.name" ng-click="hasFocus=true" ng-customblur="onBlur()" required id="name"/> 

</div> 

はここ

var myApp = angular.module('myApp', []); 

myApp.directive('ngCustomblur', ['$parse', function($parse) { 
    return function(scope, element, attr) { 
    var fn = $parse(attr['ngCustomblur']);  
    element.bind('blur', function(event) {   
     scope.$apply(function() { 
     fn(scope, {$event:event}); 
     }); 
    }); 
    } 
}]); 

function MyCtrl($scope) { 
    $scope.onBlur = function(){   
     $scope.hasFocus = false; 
    } 
} 

その作業

+0

こんにちはAnkur、私はちょうどフィドルで使用されている角度バージョンが1.0.3であることを見ました。私は1.4.8を使用しており、私は1.4.8で同じコードを動作させることができません。このコードを1.4.8にアップグレードする方法をお知らせください。 – user56690

0

別のアプローチは、あなたのコントローラでのonClickハンドラ内でのCSSクラスを追加することができます..あなたのフォームのためにそれを適応してください、あなたのjsを行きます。

関連する問題