我写了一个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。
感谢。
答案 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();
}