$.fn.myTest=function() {
var externalfunc=function(){
alert('haii');
}
};
$.fn.myTest.sample=function(){
var self = this;
self.myTest.externalfunc();
}
有人能告诉我如何纠正这个问题吗?
答案 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.
,以保留对象链。