angularJS - 获得x和; y鼠标点击div的位置

时间:2013-01-17 23:23:44

标签: javascript position angularjs

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

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

3 个答案:

答案 0 :(得分:60)

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

您没有添加模板定义,但我会在以下情况下添加它:

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

答案 1 :(得分:1)

在html文件中,使用:

<div (click)="test($event)"></div>

在ts文件中的函数中:

function test(e){
 console.log(e.clientX);
 console.log(e.clientY);
}

答案 2 :(得分:-1)

对于那些使用拖动库并且想要拖动元素位置的角度的人:

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

并在控制器中

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

 }