[英]jQuery extending $.fn with an object?
使用jQuery.extend和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();
类的东西$('.selector').Forty.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();
这似乎很有效!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.