Javascript jQuery插件编写-多个方法作为函数对象的属性
假设您希望jQuery插件有多种方法。我已经读到,您应该保持jQuery命名空间干净,并将方法名传递给插件:Javascript jQuery插件编写-多个方法作为函数对象的属性,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,假设您希望jQuery插件有多种方法。我已经读到,您应该保持jQuery命名空间干净,并将方法名传递给插件: $('#el').plugin('method'); 能否将这些方法添加到插件函数对象 $.fn.plugin.method = function(){} $.fn.plugin.method2 = function(){} // etc 但是现在,这些方法是在函数对象上调用的,而不是在jQuery集合上调用的 您能否$.proxy()使用plugin.method函数,以便在根jQ
$('#el').plugin('method');
能否将这些方法添加到插件函数对象
$.fn.plugin.method = function(){}
$.fn.plugin.method2 = function(){}
// etc
但是现在,这些方法是在函数对象上调用的,而不是在jQuery集合上调用的
您能否$.proxy()
使用plugin.method
函数,以便在根jQuery集合上调用它们,并按预期工作?
甚至可以向函数“对象”添加属性吗?
以下是最终目标可能的样子:
var $me = $('#me').person(); // init
$me.person.jump().rollOver().sleep();
其中,跳转、滚动和休眠是
person
函数对象的方法,而不是jQuery.fn对象。是的,可以向函数对象添加属性,也可以代理它们。您目前如何在插件代码中调用它们?目前这完全是假设,因此您应该对此感兴趣:。我在前面查看了jQ UI以了解它们是如何实现的。由于widget工厂系统的学习曲线和对jqueryui库的依赖性,我不确定这是否是我想要走的方向。我认为上面的例子可以通过jQuery单独完成,只是不确定如何工作:-\n您只需要一小块jQueryUI就可以使用小部件工厂,而不是整个库。它将附带完成所需的所有样板文件(但使用不同的语法,如$me.person('jump').person('rollover')
)。