jquery插件使用命名空间而不是$ .fn.extend

时间:2011-12-22 03:11:21

标签: jquery

嘿我想要更改我创建的插件以使用文档命名空间。我一直在研究这个,但我迷失了怎么做。

以下是插件代码的开头:

(function ($) {
        $.fn.extend({
                BGP: function (options) {

目前对该插件的调用使用:

$(document).BGP({ /*options*/});

我希望它更像是:

$.BGP({ /*options*/});

任何帮助和解释都会很棒!

2 个答案:

答案 0 :(得分:0)

您是否想要污染全局命名空间? ;)如果是这样,只需:

function BGP(options) { ...

会这样做。但是像这样的函数的意图却大不相同,因为它不像jQuery插件版本那样对某个目标元素起作用。

答案 1 :(得分:0)

如果你的意思是你希望它是一个jQuery全局函数并污染那个命名空间:),你可能想要

$.BGP = function(options) {...

可以在代码中执行此操作(有人会说不同,他们可能比我更了解),您只在自己的网站上使用,在那里您知道没有其他人会使用该命名空间,但如果您计划分发代码(即在插件中),这是一个坏主意。