Я начинаю писать больше плагинов jQuery в своем собственном пространстве имен, чтобы я мог повторно использовать код и сохранять свой код СУХИМ.
Я новичок во всей разработке плагинов, но прочитал несколько источников, включая официальный jQuery.
Вот пример, с которым я поиграл:
(function($) {
// jQuery plugin definition
$.fn.reverseText = function(params) {
$.fn.reverseText.test();
// merge default and user parameters
params = $.extend({
minlength: 0,
maxlength: 99999
}, params);
// traverse all nodes
this.each(function() {
console.log($(this).parent().data('url'));
// express a single node as a jQuery object
var $t = $(this);
// find text
var origText = $t.text(),
newText = '';
// text length within defined limits?
if (origText.length >= params.minlength && origText.length <= params.maxlength) {
// reverse text
for (var i = origText.length - 1; i >= 0; i--) newText += origText.substr(i, 1);
$t.text(newText);
}
});
// allow jQuery chaining
return this.each;
};
// Is this correct?
$.fn.reverseText.test = function() {
alert('test');
};
})(jQuery);
$(function() {
$(".js-test-whatever li:even").reverseText();
});
Обычно я создаю пространство имен, подобное этому:
var a = {
};
a.reverseText = {
init: function () {
reverseText();
});
},
reverse: function() {
$(function() {
return foo;
});
}
a.reverseText.init();
Так, как правильно добавить несколько функций в пространство имен плагина jQuery?
Посмотрите на комментарий в первом примере, где я включил дополнительную функцию.