繁体   English   中英

在jQuery中扩展$ fn命名空间

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM