这看起来很简单,但我无法想象如何扩展$ fn命名空间。
JS:
(function ($) {
$.fn.myorg.level1.level2.myFunction = function (usettings, params) {
return this.each(function () {
//do work...etc
});
};
} (jQuery));
$("bla").myorg.level1.level2.myFunction(...);
如何定义命名空间链,以便我可以编写上面的函数?
我给出的示例非常简单,但是命名空间不会非常深,但我需要能够随意扩展和添加函数...等等到我的命名空间树。我不想为我添加的每个附加功能/级别重新定义树。
我没有看到任何好的例子。如果我保持在$ fn级别这很容易,但这并不能使我的代码像我需要的那样干净和可扩展。
如果我要求的是不可能的,那么正确的方法是什么?
答案 0 :(得分:1)
console.log($.fn.myorg); // undefined
$.fn.myorg.level1 = function(){}; // TypeError: Cannot set property 'level1' of undefined
但如果我们先定义事物:
$.fn.myorg = $.fn.myorg || {}; // if this object doesn't exist, create an blank object
console.log($.fn.myorg); // object
$.fn.myorg.level1 = function(){};
console.log($.fn.myorg.level1); // function