单击时如何读取angularjs中的鼠标位置?
发布时间:2020-12-17 17:24:40 所属栏目:安全 来源:网络整理
导读:我想获得ng-clicked元素的元素内(x,y)位置.使用clientX和clientY通过页面滚动进行转换.使用pageX和pageY不依赖于滚动,但它是绝对的.这四个属性属于$event对象,可在ng-click指令中使用.我如何计算元素x和y? 在jQuery中我会做类似的事情: $("#something").cl
我想获得ng-clicked元素的元素内(x,y)位置.使用clientX和clientY通过页面滚动进行转换.使用pageX和pageY不依赖于滚动,但它是绝对的.这四个属性属于$event对象,可在ng-click指令中使用.我如何计算元素x和y?
在jQuery中我会做类似的事情: $("#something").click(function(e){ var parentOffset = $(this).parent().offset(); //or $(this).offset(); if you really just want the current element's offset var relX = e.pageX - parentOffset.left; var relY = e.pageY - parentOffset.top; }); 但现在,我想在angularjs中(即在控制器内部,而不是在postLink函数内).做这件事的好方法是什么?使用angular.element做同样的事情是否安全?或者有另一种计算我需要的值的方法吗? 编辑澄清:在控制器中,我会尝试: $scope.onClick = function($event) { //currently I can... var pageX = $event.pageX; var pageY = $event.pageY; }; 但我需要将这些坐标转换为与元素相关的坐标,因为这些元素是绝对的.考虑适当的HTML: <div ng-click="onClick($event)">Nestor Kirchner</div> 解决方法
这应该让你开始:
$scope.doClick = function(event){ var x = event.x; var y = event.y; var offsetX = event.offsetX; var offsetY = event.offsetY; // you have lots of things to try here,not sure what you want to calculate console.log(event,x,y,offsetX,offsetY); }; 和HTML: <div ng-click="doClick($event)"></div> 请澄清你想要计算的内容?一些例子? 示例代码:http://plnkr.co/edit/TnhEliSUgChCaMN4gmYn?p=preview (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |