我有一個名爲Foo的類(或函數包含的對象;我聽說沒有像Javascript類那樣的東西),附帶一個事件處理函數點擊事件。當調用事件處理程序時,我想修改我的Foo類的屬性。通常,我會使用this
關鍵字,但在事件處理函數中,將this
引用設置爲對html元素的引用。這裏是我的代碼:Javascript獲取對事件處理函數的父對象/類的引用
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.
}
}
所以我的問題是:我怎麼得到我的Foo實例的引用到我的事件處理程序,這樣我可以修改它的屬性(如num
)?
如果需要釋放對象,該解決方案是否會導致內存泄漏? –