扩展jQuery插件的最佳方法我是一个相当新的jQuery用户,希望扩展现有的jQuery插件,它可以满足我所需要的75%。我试着做这个功课。我在stackoverflow上检查了以下问题:扩展jQuery插件扩展jQuery插件jQuery:扩展插件问题我已经阅读了 extend方法。然而,所有这些功课让我感到困惑。我正在使用fullcalendar插件,需要修改一些行为以及添加新的事件挂钩。我是否坚持在插件封闭本身中这样做?我错过了一些明显的东西吗理想情况下,我们可以将代码与插件代码分开,以便进行可能的升级。任何帮助将不胜感激,特别是关于我在哪里错过了关于其他Stack Overflow问题中已经提出的解决方案是否有意义的一些信息或意见的指示。对我来说,他们互相矛盾,我仍然感到困惑。
3 回答
POPMUISE
TA贡献1765条经验 获得超5个赞
我在尝试扩展jquery UI插件时遇到了同样的问题,这是我找到的解决方案(通过jquery.ui.widget.js找到它):
(function($){/ ** *命名空间:插件所在的命名空间 * pluginName:插件的名称 * / var extensionMethods = { / * *检索元素的id *这是现有插件中的一些上下文 * / showId:function(){ return this.element [0] .id; } }; $ .extend(true,$ [Namespace] [pluginName] .prototype,extensionMethods);})(jQuery的);
希望这有帮助,请询问您是否有任何疑问。
holdtom
TA贡献1805条经验 获得超10个赞
我发现有很多插件的方法是受保护/私有的(即在闭包范围内)。如果你需要修改方法/功能的功能,那么除非你愿意分叉,否则你的运气不好。现在,如果您不需要更改任何这些方法/功能,那么您可以使用$.extend($.fn.pluginName, {/*your methods/properties*/};
我以前最后做的另一件事就是使用插件作为我的插件的属性,而不是试图扩展它。
它真正归结为你想要扩展的插件是如何编码的。
- 3 回答
- 0 关注
- 449 浏览
添加回答
举报
0/150
提交
取消