如何在jQuery中从外部函数调用内部函数

时间:2010-08-31 13:17:46

标签: jquery

$.fn.myTest=function() {
 var externalfunc=function(){
  alert('haii'); 
 }
};

$.fn.myTest.sample=function(){
 var self = this;
 self.myTest.externalfunc();
}

有人能告诉我如何纠正这个问题吗?

1 个答案:

答案 0 :(得分:1)

我不知道你在这里想做什么。如果扩展jQuery .fn.命名空间,则所有jQuery对象都通过原型继承继承该属性。

jQuery.fn.myTest = function() {
   var foobar = function(){
       alert('yay');
   };
};

这意味着$('somelement').myTest()现已可用,但您无法在此处访问foobar(),因为foobar()myTest()的私人成员( - &gt; 功能范围< /强>)。你的externalfunc()也是如此。

您可以执行类似

的操作
jQuery.fn.myTest = function() {
   return (function(){
       alert('yay');
   }());
};

现在真的会在jQuery('element').myTest()发出警告,但我怀疑这是你想要实现的目标。您始终应该在this方法中返回.fn.,以保留对象链。