[英]Extend $fn namespace in jQuery
这看起来很简单,但我无法想象如何扩展$ 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级别很容易,但这并不能使我的代码像我需要的那样干净和可扩展。
如果我要求的是不可能的,那么正确的方法是什么?
Epascarello暗示了这一点,但我猜测之前的对象没有定义。
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.