我是一个相当新的 jQuery 用户,希望扩展一个现有的 jQuery 插件,它可以完成我需要的大约 75% 的功能。我已经尝试在这方面做功课。我在 stackoverflow 上查看了以下问题:
我已经 read up在扩展方法上。然而,所有这些作业让我感到困惑。我正在使用 fullcalendar插件,需要修改一些行为以及添加新的事件 Hook 。我是否坚持在插件闭包本身中这样做?我是否遗漏了一些明显的东西?
理想情况下,我们能够将我们的代码与插件代码分开,以便进行可能的升级。任何帮助将不胜感激,尤其是关于我遗漏了一些信息或意见的指示,这些信息或意见表明其他 Stack Overflow 问题中已经提出的解决方案是否有意义。对我来说,它们相互矛盾,我仍然感到困惑。
最佳答案
我在尝试扩展 jquery UI 插件时遇到了同样的问题,这是我找到的解决方案(通过 jquery.ui.widget.js 找到的):
(function($) { /** * Namespace: the namespace the plugin is located under * pluginName: the name of the plugin */ var extensionMethods = { /* * retrieve the id of the element * this is some context within the existing plugin */ showId: function(){ return this.element[0].id; } }; $.extend(true, $[ Namespace ][ pluginName ].prototype, extensionMethods); })(jQuery);
希望对您有所帮助,如有任何问题,请提出。
关于jquery - 扩展 jQuery 插件的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2050985/