2014-12-20 15 views

cevap

31

Açılı jqlite'den prop() öğesini kullanabilirsiniz. Tüm eşleşen elemanı verilecek ilk eşleşen elemanı veya querySelectorAll (döndüren bir eleman sen querySelector (kullanabilirsiniz)) seçmek için

angular.element(document.querySelector('yourelement')).prop('offsetLeft'); 

veya eğer

sizin "bu" dir geçerli dom elemanı

angular.element(this).prop('offsetLeft'); 

Örnek div

için size html $ olayla DOM nesnesi başvurabilir ve denetleyici üzerinde işleve geçmek

01 denetleyicisi

$scope.myfunction = function($event){ 
console.log(angular.element($event.target).prop('offsetLeft')); 

} 

Demo Cevabınız için

app = angular.module('test',[]); 
 
app.controller('testctrl',function($scope){ 
 

 
    
 
    $scope.myfunction = function($event){ 
 
    console.log($event); 
 
off =angular.element($event.target).prop('offsetLeft'); 
 
    angular.element($event.target).text(off) 
 

 
} 
 
    
 
});
.divvy{position:absolute; left:60px; 
 
width:100px; background:red; 
 
}

 

 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-controller="testctrl" ng-app="test"> 
 
    <div class="divvy" ng-click="myfunction($event)" >Click to see position</div> 
 
    </div>

+0

teşekkürler. Pozisyonu almak için $ kapsamını kullanabilir miyim? – user1995781

+0

$ kapsam geçerli değil Dom öğesi sınıf etiketini sorguSelector ('') –

+0

içinde herhangi bir tıklama/vurgulu olayında kullanabiliyor musunuz? –