How do I read mouse position in angularjs when a click is made? -
i want in-element (x, y) position of ng-clicked element. using clientx , clienty gets transformed page scroll. using pagex , pagey not scroll-dependent, absolute. 4 properties belong $event object, available within ng-click directive. how calculate in-element x , y?
in jquery i'd like:
$("#something").click(function(e){ var parentoffset = $(this).parent().offset(); //or $(this).offset(); if want current element's offset var relx = e.pagex - parentoffset.left; var rely = e.pagey - parentoffset.top; }); but now, want in angularjs (i.e. within controller, not within postlink function). way it? safe same using angular.element? or there way of calculating values need?
edit clarifying: in controller, i'd try:
$scope.onclick = function($event) { //currently can... var pagex = $event.pagex; var pagey = $event.pagey; }; but need transform coordinates clicked-element related coordinates, since elements absolute. consider appropiate html:
<div ng-click="onclick($event)">nestor kirchner</div>
this should started:
$scope.doclick = function(event){ var x = event.x; var y = event.y; var offsetx = event.offsetx; var offsety = event.offsety; // have lots of things seek here, not sure want calculate console.log(event, x, y, offsetx, offsety); }; and html:
<div ng-click="doclick($event)"></div> please clarify trying calculate? examples?
sample code: http://plnkr.co/edit/tnhelisugchcamn4gmyn?p=preview
angularjs
No comments:
Post a Comment