2013-01-17 23 views
35

में माउसक्लिक से एक्स और वाई पद प्राप्त करना मैंने एक ऐसा फ़ंक्शन बनाया है जिस पर मैंने एक div के अंदर क्लिक की गई स्थिति पर कोई आइटम जोड़ना चाहिए। अब इस फ़ंक्शन के साथ समस्या है, हर बार जब मैं क्लिक करता हूं, तो यह x & दस्तावेज़ की स्थिति लेता है, न कि div के अंदर x & y स्थिति। तो मैं वास्तव में क्या चाहता हूं, यह है कि मेरे div के शीर्ष बाएं कोने को x = 0 & y = 0 देना चाहिए, लेकिन मुझे नहीं पता कि यह संभव है या नहीं? और मुझे लगता है कि वहाँ एक और तरीका यह करने के लिए है ..angularJS - div

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

उत्तर

58

आप event.offsetY

को event.offsetX और event.y को event.x बदलने की जरूरत है आप टेम्पलेट परिभाषा में नहीं जोड़ा था लेकिन मैं इसे सिर्फ में जोड़ देंगे मामला:

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

यही है कि मैं क्या तलाश कर रहा था में! मुझे पता था कि यह कुछ आसान होगा: डी और हाँ, मैंने पहले से ही टेम्पलेट परिभाषा को जोड़ा है, लेकिन मुझे यकीन था कि सबकुछ ठीक था .. धन्यवाद बहुत दोस्त! –

+0

खुशी मैं मदद कर सकता था :) –

+18

सावधान रहें फ़ायरफ़ॉक्स ऑफसेटएक्स नहीं है। [फ़ायरफ़ॉक्स के लिए लेयरएक्स का उपयोग करें।] (Http://stackoverflow.com/questions/8878471/return-coordinates-of-mouse-click-on-html5-canvas-using-javascript-mouse-events) –

-1

जो खींच लाइब्रेरी का उपयोग कर रहे हैं और तत्व की स्थिति है कि घसीटा गया था चाहते कोणीय पर उन लोगों के लिए:

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

और नियंत्रक

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

} 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^