angularJS – 从鼠标点击div中获取x和y的位置

我做了一个函数,应该添加一个项目,我点击一个div内的位置。 现在这个函数的问题是,每次我点击,它都需要文档的x和y位置,而不是div内的x和y位置。 所以我真正想要的是,我的div的左上angular应该给x = 0&y = 0,但我不知道这是可能的吗? 我想还有另一种方法可以做到这一点..

$scope.addOnClick = function(event) { $scope.items.push( { "label": "Click", "value": 100, "x": event.x-50, "y": event.y-50, }) } 

您需要将event.x更改为event.offsetX ,将event.offsetY更改为event.offsetY

你没有添加模板定义,但我会添加它,以防万一:

 <div ng-click="addOnClick($event)"></div> 

对于那些正在使用拖动库的angular度来说,想要拖动元素的位置:

 <div ng-click="OnDrag($event)"></div> 

并在控制器中

 $scope.onDrag($event){ console.log("X ->",$event.originalEvent.pageX,"Y ->",$event.originalEvent.pageY) }