Friday 15 January 2010

How do I read mouse position in angularjs when a click is made? -



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