javascript - How to get width of an element from an ng-click without Jquery in AngularJS? -
i dynamically width of div.progress-bar ng-click.  function move($event) on element div.progress-bar returns event element div.progress-bar. when click on div.time inside div.progress-bar, returns event element div.time.
i want width of progress-bar click on children.
html :
    <div class="progress-bar" ng-click="move($event)">         <div class="time" ng-style="{'width': (current_track.time_current / current_track.time_total * 100) + '%'}"></div>     </div> controller :
$scope.move = function(e) {     console.log(e);     console.log(e.srcelement.offsetwidth);     var widthofprogressbar = e.srcelement.offsetwidth;     /* ... */ }; 
you have check if clicked element .progress-bar, , if not, fetch parent element:
var bar = e.srcelement.classname === 'time'     ? e.srcelement.parentnode     : e.srcelement;  var widthofprogressbar = bar.offsetwidth; /* ... */ or alternative more angular/jqlite way:
var element = angular.element(e.srcelement),     bar = (element.hasclass('time') ? element.parent() : element)[0];  var widthofprogressbar = bar.offsetwidth; /* ... */ 
Comments
Post a Comment