2011-03-10 30 views
1

我想在jQuery中创建一个子命名空间。我已经试过这样:jQuery中的子命名空间

$.fn.tx = function() { 
    console.log(this); 
    return this; 
}; 

$.fn.tx.lib = function() { 
    console.log(this); 
    return this; 
}; 

如果我写,

$('selector').tx(); 

萤火虫会告诉我的选择DOM。但是,如果

$('selector').tx.lib(); 

它显示一个空的函数。

我不知道为什么会发生这种情况。有没有人有任何想法?提前致谢。

回答

1

这真的不是jQuery中命名空间的正确方法。起初,当我去写我的第一个插件时,我对此感到困惑。 jQuery plugin authoring page有一些很好的文档。

简而言之,要定义命名空间为你的第一个样品中完成的:

$.fn.tx = function(args) { 
    console.log(this); 
    return this; 
}; 

然后里面就有你可以定义你会喜欢“命名空间”功能和呼叫他们在jQuery文档上。希望这可以帮助!