jquery插件编写内部方法从另一个内部方法调用
我是jquery插件创作新手,不知道插件中的一个方法如何调用同一插件中的另一个方法 在示例代码中,我试图从f1调用f2,但由于f2方法中的.each()出现了一个js错误 你能启发我吗 谢谢 编辑:f1()和f2()可以从插件$.pluginName('f1')和$.pluginName('f2')的外部调用 我想要的是在f1()中的somme代码之后调用f2()jquery插件编写内部方法从另一个内部方法调用,jquery,function,jquery-plugins,each,Jquery,Function,Jquery Plugins,Each,我是jquery插件创作新手,不知道插件中的一个方法如何调用同一插件中的另一个方法 在示例代码中,我试图从f1调用f2,但由于f2方法中的.each()出现了一个js错误 你能启发我吗 谢谢 编辑:f1()和f2()可以从插件$.pluginName('f1')和$.pluginName('f2')的外部调用 我想要的是在f1()中的somme代码之后调用f2() ; (函数($){ "严格使用",; var pluginName='pluginName'; var默认值={ }; var方法=
;
(函数($){
"严格使用",;
var pluginName='pluginName';
var默认值={
};
var方法={
初始化:函数(选项){
返回此。每个(函数(){
var$this=$(this);
var设置=$.extend({},默认值,选项);
$this.data(pluginName,设置);
退还$this;
});
},
f1:函数(){
methods.f2();//未捕获的TypeError:对象#没有方法“each”
},
f2:函数(){
返回此值。每个(函数(){
});
}
};
$.fn[pluginName]=函数(方法){
if(方法[方法]){
返回方法[method].apply(this,Array.prototype.slice.call(arguments,1));
}else if(typeof方法=='object'| |!方法){
return methods.init.apply(这是参数);
}否则{
$.error('Method'+Method+'在jQuery上不存在。'+pluginName+'()');
}
};
})(jQuery);
这显示错误,因为当您从f1()
调用f2()
时,您没有将jQuery对象传递给f2()
,因此此
不会引用f2()
中的同一对象,因此它不会工作
所以,像这样更改您的f1()
代码
f1 : function() {
// some code of F1
this.css('color','red');
// now call f2
methods.f2.apply(this,[]);
},
它指定了这个在f2()
中的含义。在本例中,我们将传递jQuery对象
更多关于
f1 : function() {
// some code of F1
this.css('color','red');
// now call f2
methods.f2.apply(this,[]);
},