扩展jQuery插件的最佳方法

扩展jQuery插件的最佳方法

我是一个相当新的jQuery用户,希望扩展现有的jQuery插件,它可以满足我所需要的75%。我试着做这个功课。我在stackoverflow上检查了以下问题:

我已经阅读了 extend方法。然而,所有这些功课让我感到困惑。我正在使用fullcalendar插件,需要修改一些行为以及添加新的事件挂钩。我是否坚持在插件封闭本身中这样做?我错过了一些明显的东西吗

理想情况下,我们可以将代码与插件代码分开,以便进行可能的升级。任何帮助将不胜感激,特别是关于我在哪里错过了关于其他Stack Overflow问题中已经提出的解决方案是否有意义的一些信息或意见的指示。对我来说,他们互相矛盾,我仍然感到困惑。


潇潇雨雨
浏览 495回答 3
3回答

POPMUISE

我在尝试扩展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

我发现有很多插件的方法是受保护/私有的(即在闭包范围内)。如果你需要修改方法/功能的功能,那么除非你愿意分叉,否则你的运气不好。现在,如果您不需要更改任何这些方法/功能,那么您可以使用$.extend($.fn.pluginName, {/*your methods/properties*/};我以前最后做的另一件事就是使用插件作为我的插件的属性,而不是试图扩展它。它真正归结为你想要扩展的插件是如何编码的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JQuery