it-swarm.com.de

angleJS - Ermittelt die X- und Y-Position durch Mausklick in div

Ich habe eine Funktion erstellt, die ein Element an der Position hinzufügen soll, auf die ich in einem Div geklickt habe. Das Problem bei dieser Funktion ist nun, dass jedes Mal, wenn ich auf sie klicke, die X- und Y-Position des Dokuments und nicht die X- und Y-Position innerhalb des Div angezeigt wird. Eigentlich möchte ich also, dass die linke obere Ecke meines Div x = 0 & y = 0 ergibt, aber ich weiß nicht, ob dies möglich ist? Und ich denke, es gibt einen anderen Weg, dies zu tun ..

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

Du musst dich ändern event.x bis event.offsetX und event.y bis event.offsetY

Sie haben die Vorlagendefinition nicht hinzugefügt, aber ich werde sie für den Fall hinzufügen:

<div ng-click="addOnClick($event)"></div>
60
Liviu T.

Verwenden Sie in der HTML-Datei:

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

Und in der Funktion in der ts-Datei:

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