1

我在这个网站上遇到了很多 jQuery Plugin Patters(样板文件):

Github jQuery 插件模式

尽管如此,我仍在寻找更远的地方,但我找不到任何可以按预期工作的东西。我对 jQuery 的了解很少,但我想如果我开始为自己创建一些小插件,我会赚到最好的……只是为了好玩和了解更多。

例如,我喜欢这种模式: Best Options Pattern

它看起来很干净,对我来说很好。但是我不确定为什么我不能像我们可以找到的所有其他插件一样调用该插件......例如 backstretch JS 或 Make it Retina......它是这样调用的。

$.backstretch('path to image');

$.makeItRetina();

所以我已经尝试了所有我认为可能有效的方法,从上面的模式调用插件的唯一方法如下:

$(document).pluginName();

而且我不想那样......如果它只是看起来更好和简化

$.pluginName();

任何人都可以告诉我如何做到这一点的路径/方式?我真的很困惑。

4

2 回答 2

3

如果你想扩展 jQuery 对象本身(在 上调用方法$)不要扩展$.fn,只需扩展$

当您扩展 (add methods to)$.fn时,它们是通过调用$(selector).method而不是$.method您正在寻找的语法调用的,这不需要与 JavaScript 相关的特殊行为。

于 2013-02-20T19:26:46.630 回答
0

尝试:

var plug = $(document).pluginName();

然后调用 plug.makeItRetina(); 或 plug.backstretch('图像路径');

希望这可以帮助。

编辑:不正确,但留下评论,以防我学到的教训可以被其他人学到。:)

于 2013-02-20T19:31:12.877 回答