[英]Call object function inside object in javascript
我正在嘗試創建一個javascript類,並在加載時實例化它的某些對象。 該類包含一些函數和一些事件偵聽器。
function Rating (id)
{
this.id = id;
$(id).click(function()
{
alert('click '+ this.id);
this.debug();
});
this.debug = function()
{
alert(' debug');
}
}
我的目標是從事件監聽器調用類函數(在這種情況下,是在點擊監聽器中debug
)。 不幸的是,當我單擊對象時,我只會看到事件監聽器警報,而看不到調試警報( 小提琴 )。
我知道這是一個基本問題。 但是我找到的所有答案都說明了將類創建為變量而不是函數。 我之所以采用這種方式,是因為我的目標是在同一頁面中創建該類的多個實例。 有沒有一種方法可以使用“變量類”實例化多個對象並從對象中調用內部函數? 提前致謝。
經典的事件處理程序中的上下文是window
。
最簡單的解決方案是在封閉范圍內聲明一個變量,以存儲所需的值:
function Rating (id)
{
var r = this;
this.id = id;
$(id).click(function() {
alert('click '+ r.id);
r.debug();
});
this.debug = function()
{
alert(' debug');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.