Если у вас есть переменное количество плагинов jQuery в формате:
(function($){
$.fn.toolSet_themeOne = function () {
// params
};
})(jQuery);
(function($){
$.fn.toolSet_themeTwo = function () {
// params
};
})(jQuery);
Если определение каждого плагина не гарантируется одинаковым и может содержать некоторую степень изменения имени после подчеркивания, как их можно применить в такой ситуации:
var themeApply = function (jQueryCollection, objSettings, pluginName) {
// this does not work and reports pluginName is not a function
jQueryCollection.pluginName(objSettings);
// $.fn[pluginName] is reported as a function
};
Я подумал использовать другой вопрос в качестве руководства, но не вижу, как правильно его охватить. Любые указатели будут с благодарностью.
Спасибо:)
EDIT:
Для тех, кто интересуется, какая функция внутри, это пример (извлеченный из другого ответа SO, для которого я не могу найти немедленную ссылку:
(function($){
$.fn.toolSet_themeOne = function () {
var methods = [
update: update
];
var init = function (options) {
// normal jquery initialisation here
};
var update = function (data) {
// do something with data
// if not initialising, but calling after initialisation
};
// what do we do on initialisation?
if(arguments.length > 0) {
if('string' === typeof(arguments[0]) && 'undefined' !== typeof(methods[arguments[0]])) {
var args = Array.prototype.slice.call(arguments);
args = args.shift();
methods[arguments[0]].apply(this,args);
} else if('object' === typeof(arguments[0])) {
init.apply(this, arguments);
}
} else {
init.apply(this, arguments);
}
return this;
};
})(jQuery);