Я создаю плагин jQuery, который довольно большой по объему. Фактически, плагин технически состоит из нескольких плагинов, которые все работают вместе.
(function($){
$.fn.foo = function(){
//plugin part A
}
$.fn.bar = function(){
//plugin part B
}
$.fn.baz = function(){
//plugin part C
}
}(jQuery))
Возможно ли пространство имен плагинов jQuery так, чтобы второстепенные плагины могли быть функциями большего плагина
$.fn.foo.bar = function(){}
$.fn.foo.baz = funciton(){}
Это предотвратит загрязнение пространства имен функции jQuery.
Затем вы можете назвать плагины как
$('#example').foo()
$('#other_example').foo.bar()
Проблема, с которой я столкнулся, когда сам пытался это сделать, заключается в том, что функции, объявленные как свойства функции плагина foo (), не имеют своих ссылок на this, установленных правильно. «this» в конечном итоге ссылается на родительский объект, а не на объект jQuery.
Любые идеи или мнения будут оценены.
Матф