37

div内でクリックした位置にアイテムを追加する関数を作りました。この関数の問題は、クリックするたびに、div 内の x & y 位置ではなく、ドキュメントの x & y 位置を取ることです。だから私が実際に欲しいのは、私のdivの左上隅がx = 0とy = 0を与えるべきだということですが、これが可能かどうかわかりませんか? そして、これを行う別の方法があると思います..

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

3 に答える 3

62

とに変更event.xする必要がありますevent.offsetXevent.yevent.offsetY

テンプレート定義を追加していませんが、念のため追加します。

<div ng-click="addOnClick($event)"></div>
于 2013-01-17T23:33:07.853 に答える
-1

ドラッグ ライブラリを使用していて、ドラッグされた要素の位置が必要なAngularの場合:

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

そしてコントローラーで

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

 }
于 2015-10-29T12:58:06.463 に答える