我的插件必须为每个对象做不同的事情,同时我需要能够调用各种方法,做很多其他的事情。
我想在这里发生的是,当用户单击first
按钮时,它应该调用函数 for test_one
div 而不是 for test_two
。
<button class="test_one">First</button >
<button class="test_two">Second</button >
<div class="called_for"></div>
(function($){
var globalSettings = {
success: function(){}
};
var methods = {
init : function(options){
settings = $.extend({},globalSettings,options);
$(this).click(function(){
settings.success();
});
}
}
$.fn.test = function(method, options){
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);
$(".test_one").test({
success: function(){
$(".called_for").text("I got called for 'test_one'");
}
});
$(".test_two").test({
success: function(){
$(".called_for").text("I got called for 'test_two'");
}
});
</p>