Я создаю плагины jQuery, используя шаблон со страницы Авторские плагины :
(function($) {
$.fn.myPlugin = function(settings) {
var config = {'foo': 'bar'};
if (settings) $.extend(config, settings);
this.each(function() {
// element-specific code here
});
return this;
};
})(jQuery);
Мой код вызывает несколько частных методов, которые манипулируют this
. Я вызываю эти частные методы, используя шаблон apply(this, arguments)
. Есть ли способ спроектировать мой плагин так, чтобы мне не нужно было вызывать apply для передачи this
из метода в метод?
Мой модифицированный код плагина выглядит примерно так:
(function($) {
$.fn.myPlugin = function(settings) {
var config = {'foo': 'bar'};
if (settings) $.extend(config, settings);
this.each(function() {
method1.apply(this);
});
return this;
};
function method1() {
// do stuff with $(this)
method2.apply(this);
}
function method2() {
// do stuff with $(this), etc...
}
})(jQuery);