我不懂新的jQuery.sub()函数

时间:2011-02-01 11:18:49

标签: jquery

有人可以解释一下jQuery http://api.jquery.com/jQuery.sub/

的新子功能

请举出您自己的例子,这很容易理解。

2 个答案:

答案 0 :(得分:7)

并排jQueries

它创建了一个具有不同功能的并排jQuery对象。 您可以在由jQuery.sub()创建的其他jQuery实例中的一个和其他插件中提供一些插件。

真实世界的例子

我能想到的一个用法示例是拥有两个具有相同名称但功能不同/工作的公共插件,因此您可以在一个jQuery中加载第一个,在另一个jQuery中加载第二个。这样,即使它们具有相同的名称,您也可以使用它们。

但是我认为函数在jQuery文档上的解释非常好。我认为不需要任何额外的解释。它只缺少一些可信的例子,显示了一个非常有用的使用场景。

实际示例

现在必须更改jQuery插件以支持此功能,因为他们通常会这样做:

(functio($){
    // plugin code
})(jQuery);

正如您所看到的,此函数闭包参数已硬编码为jQuery。要在自己的jQuery领域(作为开发人员定义)中包含特定插件,应将此代码更改为:

var $$ = jQuery.sub();
(functio($){
    // plugin code
})($$);

但这意味着开发人员总是必须更改插件代码,而这些代码并不是真的有用。我想jQuery将不得不提出某种插件管理器,所以加载插件只会在这个管理器中加载它们,你必须通过使用这个管理器并提供jQuery域来将它们包含在jQuery对象中。

我没有看到任何其他使插件通用的可能性,因此可以在任何jQuery实例中使用它们而无需更改插件代码。

在原始文档中提供的示例是某种让他们看看它是如何完成的但是我不认为这是一个非常好的例子,它只是放置所有sub()个插件在一个共同的原始jQuery插件下(在该示例中它是myplugin())。

答案 1 :(得分:0)

如果你想制作一个jQuery的变体 - 例如,如果你想覆盖一些jQuery方法,但如果你想稍后使用它们仍然保留原文。