使用此Difference between jQuery.extend and jQuery.fn.extend?有没有办法让$('.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').Forty.flyOut();
这样的事情可能吗?
答案 0 :(得分:0)
我设法通过以下方式解决了这个问题:
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();
这似乎是史诗般的工作!