Javascript 用对象扩展$.fn的jQuery?
使用此方法可以获得类似于Javascript 用对象扩展$.fn的jQuery?,javascript,jquery,object,Javascript,Jquery,Object,使用此方法可以获得类似于$('.selector').Group.Method()的内容和$('.selector').Group.Method2() 现在我有一个主要的剧本 function Forty() {}; var Forty = new Forty(); (function(site) { $.extend(Forty, { getBaseUrl: function(extra) { extra = typeof extra !==
$('.selector').Group.Method()的内容
和$('.selector').Group.Method2()代码>
现在我有一个主要的剧本
function Forty() {};
var Forty = new Forty();
(function(site) {
$.extend(Forty, {
getBaseUrl: function(extra) {
extra = typeof extra !== 'undefined' ? extra : '';
return Forty.get('baseUrl') + extra;
},
get: function($what) {
return site[$what];
}
});
})(site);
随后在该文件中,我有:
$.extend(Forty, {
flyOut: function() {
$(this).on('click', function() {
$('html').toggleClass('nav-open');
});
}
});
最后,我有:
$.fn.extend({Forty: Forty});
就在我说这句话之前:
$('.selector').Forty.flyOut();
所以我真的想要类似于$('.selector').four.flyOut()的东西代码>
这样的事情可能吗 我设法解决了这个问题,方法是:
var Forty = {fn:{}};
$.fn.extend({Forty: function() {return $.extend(this, Forty.fn);}});
然后像这样分配我自己的函数:
Forty.fn.flyOut = function() {
$(this).on('click', function() {
$('html').toggleClass('nav-open');
});
return this;
}
并且像这样使用它们:
$('.js-toggle-nav').Forty().flyOut();
这似乎很有效 是的,但您可能必须重构代码。谷歌需要的词是“链接”wrt jQuery插件
是一个非常非常糟糕的主意。不,Prototype就是这样,jQuery也是这样吗?