J'ai créé une fonction qui devrait ajouter un élément à la position sur laquelle j'ai cliqué à l'intérieur d'un div. Maintenant, le problème avec cette fonction est, chaque fois que je clique, elle prend la position x & y du document, pas la position x & y à l'intérieur du div. Donc ce que je veux vraiment, c'est que le coin supérieur gauche de mon div devrait donner x = 0 & y = 0, mais je ne sais pas si c'est possible? Et je suppose qu'il y a une autre façon de le faire ..
$scope.addOnClick = function(event) {
$scope.items.Push( {
"label": "Click",
"value": 100,
"x": event.x-50,
"y": event.y-50,
})
}
Vous devez changer event.x
à event.offsetX
et event.y
à event.offsetY
Vous n'avez pas ajouté la définition du modèle mais je l'ajouterai juste au cas où:
<div ng-click="addOnClick($event)"></div>
Dans le fichier html, utilisez:
<div (click)="test($event)"></div>
Et dans la fonction du fichier ts ::
function test(e){
console.log(e.clientX);
console.log(e.clientY);
}