您的方法test
仅在函数内部可用,您不能在范围外访问它。相反,您可以这样做。同样在调用它时,请记住将方法调用()
用于test
ie$(document).test().method();
而不是$(document).test.method();
(function( $ ) {
$.fn.test = function() {
var method = function() {
alert('test succeeded!');
};
return {method:method};
}
})( jQuery );
$(document).ready(function() {
$(document).test().method(); // undefined
});
使用 Jquery 插件模式。
(function ($) {
var methods = {
method : function () {
alert('test succeeded!');
return this; //return element for chaining
},
method2 : function () {
alert('test2 succeeded!');
return this;
}
};
$.fn.test = function (method) {
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' does not exist');
}
}
})(jQuery);
$(document).ready(function () {
$(document).test('method');
$(document).test('method2');
});
小提琴