jQuery用一个对象扩展$.fn
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();
这样的事情可能发生吗?
我设法解决了这个问题,方法是:
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();
这似乎非常奏效!
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- 扩展移相器按钮类不工作
- chrome扩展中的navigator.geolocation.getCurrentPosition
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- chrome扩展更改主机/域警告
- TableExport jquery插件:文件名和扩展名问题
- 如何在chrome扩展中重定向到html页面
- Chrome扩展没有't在重新加载之前考虑期权价值
- 扩展SVGTextElement时出现Typescript Uncaught TypeError
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- Javascript”;类“;带有参数的扩展
- 试图阻止Chrome通过扩展关闭
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 扩展 $.fn.init 函数
- 使用 fn.extend() 和 Google 闭包编译器扩展 jQuery
- jQuery用一个对象扩展$.fn
- 在nodejs中使用.fn扩展名在自定义模块中击倒js
- 扩展jQuery点击处理程序(修补$.fn.click函数?)以检查条件
- jQuery $.fn.扩展或$.扩展使用
- 如何使用新对象扩展 $.fn