2011-06-29 112 views
1

我創建一個Javascript對象,像這樣:如何通過屬性的onclick方法引用JavaScript對象?

function pager(elementId) { 
    this.totalPages = 5; 
    this.currentPage = 1; 

    var nextPageImage = document.createElement("img"); 
    nextPageImage.src = "img/next.png"; 

    nextPageImage.onclick = function(){ 
     if (this.currentPage+1 <= this.totalPages) 
     { 
      this.currentPage +=1; 
     } 
    } 

    document.getElementById(elementId).appendChild(nextPageImage); 
} 

我通過傳遞div的頁面上的ID創建對象的一個​​實例:

myPager = new pager('pagerDiv'); 

的問題是,'這'onclick函數內部是指圖像本身,而不是尋呼機對象。我可以通過使用'myPager'來引用傳呼機目標,但這不太實際。

如何從圖像onclick函數內引用對象?

回答

3

創建它代表一個局部變量「這個」,然後使用:

function pager(elementId) { 
    this.totalPages = 5; 
    this.currentPage = 1; 
    var th = this; 

    var nextPageImage = document.createElement("img"); 
    nextPageImage.src = "img/next.png"; 

    nextPageImage.onclick = function(){ 
     if (th.currentPage+1 <= th.totalPages) 
     { 
      th.currentPage +=1; 
     } 
    } 

    document.getElementById(elementId).appendChild(nextPageImage); 
} 
相關問題