Dojo扩展问题,无法正确扩展

Dojo扩展问题,无法正确扩展,dojo,Dojo,我想扩展Dojo类\u 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;

我想扩展Dojo类\u 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()
});
所以当我这样做是为了扩展一个滚动功能

(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()不是全局的,而是位于某个函数的作用域中;
请帮忙

不能访问闭包中的私有变量,除非它们是从闭包范围之外的其他对象引用的。因此,如果您需要使用divkids()中的代码,您可以复制该函数的内容及其引用的任何私有内容,或者您可能需要直接编辑该文件(将您的内容放入闭包中,或者使其不包含您需要的部分)