【发布时间】:2009-08-02 19:35:49
【问题描述】:
我正在创建一个范围相当大的 jQuery 插件。事实上,从技术上讲,该插件由几个共同工作的插件组成。
(function($){
$.fn.foo = function(){
//plugin part A
}
$.fn.bar = function(){
//plugin part B
}
$.fn.baz = function(){
//plugin part C
}
}(jQuery))
是否可以命名 jQuery 插件,以便次要插件可以是较大插件的功能
$.fn.foo.bar = function(){}
$.fn.foo.baz = funciton(){}
这样可以避免污染 jQuery 函数命名空间。 然后你可以调用插件像
$('#example').foo()
$('#other_example').foo.bar()
我自己尝试这个时遇到的问题是声明为 foo() 插件函数的属性的函数没有正确设置它们对“this”的引用。 'this' 最终指向父对象而不是 jQuery 对象。
任何想法或意见将不胜感激。
-马特
【问题讨论】:
标签: javascript jquery jquery-plugins