से अभिभावक ऑब्जेक्ट/क्लास का संदर्भ मिलता है मेरे पास एक वर्ग (या फ़ंक्शन-युक्त ऑब्जेक्ट है; मैंने सुना है कि जावास्क्रिप्ट क्लास जैसी कोई चीज़ नहीं है) जिसे फू कहा जाता है, जिसमें एक ईवेंट हैंडलर संलग्न होता है एक क्लिक घटना के लिए। जब ईवेंट हैंडलर कहा जाता है, तो मैं अपनी कक्षा फू की एक संपत्ति को संशोधित करना चाहता हूं। आम तौर पर, मैं this
कीवर्ड का उपयोग करता हूं, लेकिन ईवेंट हैंडलर में, this
संदर्भ HTML तत्व के संदर्भ में सेट है। यहाँ मेरी कोड है:जावास्क्रिप्ट को ईवेंट हैंडलर
function Foo() {
this.num=0;
$('element').click(this.eventHandler);// jQuery to attach an onclick event to my element.
this.eventHandler=function() {
this.num++;// This doesn't work.
// Normally, "this" would refer to my instance of Foo,
// but as an event handler, "this" refers to the html element.
}
}
तो मेरे सवाल है: कैसे मैं इतना है कि मैं इसकी प्रॉपर्टी (जैसे num
) संशोधित कर सकते हैं मेरी ईवेंट हैंडलर में फू के अपने उदाहरण के लिए एक संदर्भ मिलता है?
क्या इस समाधान को स्मृति रिसाव का कारण नहीं बन सकता है अगर ऑब्जेक्ट को कभी भी रिलीज़ करने की आवश्यकता हो? –