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,
})
}
変更する必要があるevent.x
からevent.offsetX
およびevent.y
からevent.offsetY
テンプレート定義は追加しませんでしたが、念のため追加します。
<div ng-click="addOnClick($event)"></div>
Htmlファイルでは、次を使用します。
<div (click)="test($event)"></div>
そして、tsファイルの関数で::
function test(e){
console.log(e.clientX);
console.log(e.clientY);
}