扩展jQuery插件

有没有人扩展现有的jQuery插件?

我不确定从哪里开始。 我宁愿不实际复制和修改我希望扩展的插件。 我是通过原型或只是对插件的延伸调用来做到这一点吗?

或者我梦想这样做有意义吗?

编辑:正如Seb所指出的,这并不是一个“扩展”插件的例子,更多的是“封装”一个插件,所以当它来时:)

这是我前一段时间为简化jquery autocomplete插件的使用而做的事情:

// small autocomplete plugin wrapping the full autocomplete plugin for a standard look and feel (function($) { $.fn.standardAutocomplete = function(type) { return this.autocomplete(ToAbsoluteUrl("~/System/Autocomplete/" + type), { formatItem: formatItem, formatResult: formatResult }); // Autocomplete formatting callbacks function formatItem(row) { return row[0] + "" + row[1] + ""; } function formatResult(row) { return row[0].replace(/(<.+?>)/gi, ''); } } })(jQuery); 

现在,这不是遵循“书本”jquery编码实践 – 例如,我没有考虑到可以选择多个元素的事实,但在这种情况下,我知道我永远不会在页面上选择多个元素有了这个,所以我想保持简单,它“适合我”。 您可能可以使用类似的方法,也许更复杂一点。

如果插件做得好,那么除了使用其选项来改变其行为之外,您没有很多其他选择 。

这样做的目的是它的所有代码都被封装,并且不会干扰其他代码,因此您不能在其中注入任何代码。

如果你真的需要改变它的行为,那么我想你需要复制并粘贴代码。