2010-01-21 44 views
1

我想擴展Dojo類_Scroller 但出現問題,因爲它的另一個功能道場延長的問題,不能擴展正確

(function(){ 
var nodeKids = function(inNode, inTag){ 
    var result = []; 
    var i=0, n; 
    while((n = inNode.childNodes[i++])){ 
    if(getTagName(n) == inTag){ 
    result.push(n); 
    } 
    } 
    return result; 
}; 

var divkids = function(inNode){ 
    return nodeKids(inNode, 'div'); 
}; 

dojo.declare("dojox.grid._Scroller", null, { 
    constructor: function(inContentNodes){ 
       .... 
       } 


      } 
}; 

所以的範圍內聲明時,即時通訊做這樣延長滾動條功能


grid1.scroller.findScrollTop = dojo.hitch(grid1.scroller, function(inRow){ 
divkids() 
}); 

它不能找到一些功能。例如,您可以看到的divkids()不是全局的,而是位於某個函數的範圍內; 請幫忙;

回答

0

您無法訪問在封閉私有變量,除非他們是從其他物體封閉的範圍之外引用。因此,如果您需要使用divkids()中的代碼,您可以複製該函數的內容以及它引用的任何私人內容,或者您​​可能必須直接編輯該文件(將您的內容放入關閉中,或者使它成爲你需要的部分不是私人的)