[Function] jQuery.sub()
Раздел "Core"
Метод расширения пространства имён jQuery.
Метод jQuery.sub() не создаёт изолированного объекта, при использовании вновь созданного пространтва имён используются оригинальные методы jQuery, всё будет запускаться черз jQuery - ajax, события, обработчики событий и т.д.
Пример:
Пример добавления нового пространства имён:
"jQuery"
(function(){
var sub$ = jQuery.sub();
sub$.fn.myCustomMethod = function(){
return 'just for me';
};
sub$(document).ready(function() {
sub$('body').myCustomMethod() // 'just for me'
});
})();
typeof jQuery('body').myCustomMethod // undefined
Пример:
Аннулирование метода jQuery и создание нового метода с использованием псевдонима myjQuery
"jQuery"
(function() {
var myjQuery = jQuery.sub();
myjQuery.fn.remove = function() {
// новый метод
this.trigger("remove");
// Be sure to call the original jQuery remove method
return jQuery.fn.remove.apply( this, arguments );
};
myjQuery(function($) {
$(".menu").click(function() {
$(this).find(".submenu").remove();
});
// Запуск нового события remove из новой копии jQuery
$(document).bind("remove", function(e) {
$(e.target).parent().hide();
});
});
})();
// Однако для самого jQuery событие remove не убудет происходить при удалении элемента
// новый метод будет доступен только внутри новой копии jQuery - 'myjQuery'.
Пример:
Дополнительный пирмер создания плагина jQuery с применением метода jQuery.sub()
"jQuery"
(function() {
// создание новой копии jQuery используя sub()
var plugin = jQuery.sub();
// Добавяем в новую копию jQuery метод plugin
plugin.fn.extend({
open: function() {
return this.show();
},
close: function() {
return this.hide();
}
});
// добавляем наш плаигин в jQuery
jQuery.fn.myplugin = function() {
this.addClass("plugin");
// возвращаем в jQuery вновь созданный метод
return plugin( this );
};
})();
$(document).ready(function() {
// Вызов нового метода, метод open сейчас существует
$('#main').myplugin().open();
// Примечание: Вызов $("#main").open() не будет работать так как метод open не существует!
});
Версия jQuery 1.4.2
Документ создан 2010-08-21