2012-03-27 63 views
0

我有一个JQuery控件,它有一些私有方法。我想访问这种控制之外的方法。一些代码片段,以获得更多的理解。jQuery控件之外的访问方法

这两个方法在同一个java脚本文件中。

function addSiblings(currentbtn) { 

    var dvClick = $(currentbtn).closest('div').siblings('div.OrgGroupLists') 
    var spnElement = $(dvClick).find('span.bgLime'); 
    objEditParam.renderRadio = false; 
    var dvPrnt = createDivNode(objEditParam); 
    //Want to access "createDivNode" method. 
    } 

(function ($) { 

function createDivNode(objEditParam) { 
     var countSpan; 
     var dvPrnt = document.createElement("div"); 
     countSpan = OS_hdnCount; 
     dvPrnt.id = "dv_Pr_" + countSpan; 
} 

})(jQuery); 

我该如何调用该方法。

+0

为什么不把两者都放在里面?我可能会猜测你正在使用内联事件,如“onclick(this)”我是对吗? – Joseph 2012-03-27 07:22:00

+0

你不能这样做,改变你的架构 – pylover 2012-03-27 07:23:39

回答

0
(function ($) { 

    //use an event handler instead 
    $('element_selector').on('click',function(){ 

     //call the function and passing it the target 
     addSiblings(this); 
    }) 

    function addSiblings(currentbtn) { 
     var dvClick = $(currentbtn).closest('div').siblings('div.OrgGroupLists') 
     var spnElement = $(dvClick).find('span.bgLime'); 
     objEditParam.renderRadio = false; 
     var dvPrnt = createDivNode(objEditParam); 

     //you can now access createDivNode() 
    } 

    function createDivNode(objEditParam) { 
     var countSpan; 
     var dvPrnt = document.createElement("div"); 
     countSpan = OS_hdnCount; 
     dvPrnt.id = "dv_Pr_" + countSpan; 
    } 

})(jQuery);