मुझे जावास्क्रिप्ट में ईवेंट हैंडलर में निम्न समस्या है। मेरे पास एक ऑब्जेक्ट है जिसमें एक मूसोम इवेंट हैंडलर है।ग्लोबल जावास्क्रिप्ट इवेंट हैंडलिंग ऑब्जेक्ट कॉन्टेक्स्ट
function MyObject(){ }
function MyObject.prototype = {
currentMousePosition: null,
onMouseMove: function(ev){
this.currentMousePosition = this.getCoordinates(ev);
},
getCoordinates: function(ev){
if (ev.pageX || ev.pageY)
return { x: ev.pageX, y: ev.pageY };
return { x: ev.clientX + document.body.scrollLeft - document.body.clientLeft, y: ev.clientY + document.body.scrollTop - document.body.clientTop };
}
};
समस्या जिसे हल करने का प्रयास कर रहा हूं वह ऑब्जेक्ट संदर्भ के आसपास हल करता है। मेरे onMouseMove फ़ंक्शन के भीतर यह currentMousePosition प्रॉपर्टी असाइन करता है। स्वाभाविक रूप से यह काम नहीं करेगा क्योंकि यह एक स्थिर कार्य है जो मूसोम घटना को संभालने में काम करता है।
जो मैं खोज रहा हूं वह मेरे ईवेंट हैंडलर के साथ ऑब्जेक्ट संदर्भ को पारित करने के लिए एक तकनीक/विधि है। सबसे अच्छा उदाहरण जो मैं सोच सकता हूं वह है Google मानचित्र एपीआई फ़ंक्शन GEvent.bind() इसके साथ आप ऑब्जेक्ट को उस फ़ंक्शन के साथ पास कर सकते हैं जिसे आप निर्दिष्ट ईवेंट पर आग लगाना चाहते हैं। मैं अनिवार्य रूप से एक ही चीज़ की तलाश में हूं। किसी भी आगे
element.onmousemove= myobject.onMouseMove.bind(myobject);
(:
यह है की शानदार शुरुआत, धन्यवाद! – Matt