0
我開始在自己的命名空間中編寫更多的jQuery插件,以便我可以重新使用代碼並保持代碼乾爽。在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插件名稱空間中的函數?
看看第一個例子中的註釋,其中包含了一個附加函數。
酷感謝亞歷克:)我會嘗試這種方式,看看我喜歡它。 – 2012-01-29 06:25:25