jquery插件方法-access indent方法

时间:2012-10-05 21:36:28

标签: javascript jquery jquery-plugins

我写了一个jquery插件。我已经定义了类似的方法:

(function($) {

    var methods = {
        init: function() {
            var initfunctions= {
                initbuttons: function() {
                    alert("bbb");
                }
                initnavbar: function() {
                    alert("ccc");
                }
            }
            subobject.initbuttons();
            subobject.initnavbar();
        },
        afterload: function() {
            ///some code 
            this.a.initfunctions.initbuttons(); //can't access b() from c function
        }
    };

    $.fn.dudaGallery = function() {


        return this.each(function() {
            methods.init();
            //methods.afterload();
        });

    };
})(jQuery);

$('#element').dudaGallery();   
​

我需要从c()访问b()函数,我无法设法这样做。 here是jsfidde。

感谢。

2 个答案:

答案 0 :(得分:1)

不确定您要在那里实现的目标,但问题是subobject的范围仅限于a()功能。在此处阅读有关私有成员范围http://www.crockford.com/javascript/private.html

的更多信息

答案 1 :(得分:1)

看起来好像你没有在这里正确访问它..

subobject c 中没有范围,仅限于 a

this.a.subobject.b(); // a 是一个函数

试试这个

 c: function() {
            ///some code 
            this.a();
        }