繁体   English   中英

获取div-AngularJs的背景颜色?

[英]Get the background color of div - AngularJs?

我想在单击该div时获得DIV元素的背景色。

HTML-

<div style="background-color:red" ng-click="getFilter($event)" class="agenda col-md-4">ABCDEGF/div>

JS控制器-

$scope.getFilter = function(event){

};

如果我们在jQuery中进行操作,则该操作可以通过-

$('div').click(function(){
   $color = $(this).css('background-color');
});

但是我想使用angularJs。 有人帮忙吗?

您可以使用:

$scope.getFilter = function(event) {
    $scope.color = $(event.currentTarget).css('background-color');
};

您可以使用ng-style动态设置颜色,我只是将其包含在每条记录的API响应中。 我假设您正在使用ng-repeat指令渲染所有元素。

标记

<div ng-repeat="item in items" 
   ng-style="{'background-color': item.color}"
   ng-click="getFilter(item);" 
   class="agenda col-md-4">
      ABCDEGF
</div>

$scope.getFilter = function(item){
    $color = item.color;
}

创建带有服务的示例示例,以动态获取和分配颜色。 JSFiddle- https: //jsfiddle.net/q16fcq99/通过所需的调用修改服务。 希望这会有所帮助。

    <body ng-app="SampleApp">
      <div ng-controller="fcController">
        <div ng-style="{'background-color': divColor}" ng-click="getFilter($event);" class="agenda col-md-4">
          ABCDEGF
        </div>
      </div>
    </body>

        var sampleApp = angular.module("SampleApp", []);
    sampleApp.controller('fcController', function($scope, colorService) {
      $scope.divColor = 'red';
      $scope.getFilter = function(event) {
        $scope.divColor = colorService.getColor();
        console.log('Event Fired');
      };
    });
    sampleApp.service('colorService', function() {
      this.getColor = function() {
        return "blue"; //Call Actual Service to Get Color
      };
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM