我知道我可以用两种形式扩展jQuery:
1)
jQuery.fn.extend({
variation1: function(){
...
}
});
I use this like $(selector).variation1();
2)
和自定义功能
jQuery.variation2 = {
something: function(){
var execute = function(){
...
}
}
}
I use this like $.variation2.something()
我的问题是:
var jsClass = new Class({ 实施:[选项], 选项:{ }, initialize:function(options){ this.setOptions(选项); } });
我们称之为,并使用自定义选项(如
)进行初始化new jsClass({option1:this,option2:that})
因此,在MooTools示例中,类实例默认执行选项。回到这个问题,有没有办法在jQuery中做类似的事情?
提前致谢
答案 0 :(得分:0)
正如您所注意到的,这两种变化是截然不同的。 jQuery.fn
提供了应用于jQuery QuerySet
对象的函数集(应用jQuery选择器的结果)。 jQuery.*
可以简单地被认为是全局静态对象,包括(有时)可以访问jQuery对象的任何人都可以访问的函数。
要初始化变体2,我会做类似的事情:
jQuery.variation2 = (function() {
var a = ...;
var b = ...; // other initialization
return {
something: function() {
...
}, ...
};
})();
您可以以类似的方式使用闭包来提供初始化代码。