59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
1

Как можно упростить доступ к функциям внутри плагина

16.01.2014, 17:21. Показов 1108. Ответов 3
Метки нет (Все метки)

Допустим есть плагин:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(function($){           //управение каталогом товаров
    
    var abc = $("#id");
    
    $.Products = {
        init : function() {
         
          $(document).on("change", "#select", function(){
            $.Products.setPage();
          });
 
        },
 
        setPage : function(){       
            //actions
        },
 
//more actions .....
Обычно из метода init, можно достучаться до setPage, так: this.setPage(), но из обработчика .on() в handler'e чтобы добраться до setPage() - нужно писать: $.Products.setPage();

Можно ли сделать так чтобы вместо $.Products.setPage(), писать this.setPage(), а то что передается в обработчик было доступно по $(this) ?

И, можно ли как-то достучаться до свойства плагина abc, из созданного обьекта: var obj = $.Products;
так: obj.abc, без использования геттера?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2014, 17:21
Ответы с готовыми решениями:

Передача параметров функциям. Можно ли изменить этот параметр внутри функции
Доброго времени суток, господа знатоки.В универе препод задал сделать проверку входных данных на...

Обращение к функциям из разных модулей через одну переменную. Как упростить код?
Была задача - в зависимости от выбранной позиции в листбоксе, некоторой переменной передавать...

Как получить доступ к функциям bass.dll
Подскажите как подключить dll bass скачал ее и как ее подключить в проекте что бы можно было...

Как получить доступ к функциям драйвера печати?
Добрый день. Как получить доступ к функциям драйвера печати? Мне необходимо чтобы в программе при...

3
3268 / 2804 / 1406
Регистрация: 15.01.2014
Сообщений: 6,122
16.01.2014, 17:56 2
По поводу второго, еще понятно. А с первой частью - слегка в ступор вводит. Внутри каждой функции - this содержит текущий объект. Не знаю, будет ли это выход из вашего положения, но можно так:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(function($){
    var abc = $("#id");   
    $.Products = {
        init : function() {
            $that = this;
            $(document).on("change", "#select", $that.setPage);
        },
        setPage : function(){
            console.log($that); // Объект $.Products
            console.log(this); // Объект #select
            //actions
        }
    };
})(jQuery);
$.Products.init();
0
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
16.01.2014, 18:34  [ТС] 3
спасибо
0
3268 / 2804 / 1406
Регистрация: 15.01.2014
Сообщений: 6,122
16.01.2014, 18:37 4
Не за что. Забыл еще о $('#id'). Если я правильно вас понял, то примерно таким образом:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(function($){
    var _abc = { abc : $("#id") };
    var _default = {
        init : function() {
            $that = this;
            $(document).on("change", "#select", $that.setPage);
        },
        setPage : function(){
            console.log($that); // Объект $.Products
            console.log(this); // Объект #select
            //actions
            $that.someThing();
        },
        someThing: function(){
            console.log($that); // Объект $.Products
            console.log($that.abc); // Объект #id
            $that.abc.animate({fontSize: '5em'}); // для проверки
        }
    };
    $.Products = $.extend(_default, _abc);
})(jQuery);
$.Products.init();
P.S. А вообще, this штучка еще та
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2014, 18:37

Как получить доступ к функциям главного диалога из немодального?
//Всем доброго времени суток Подскажите пожалуйста, как получить доступ к функциям основного...

Можно ли получить доступ к файлам (ошибка внутри)
Error mounting /dev/sda3 at /media/verci/2E1EEE7D1EEE3E09: Command-line `mount -t "ntfs" -o...

Как задать шаблон вывода для кастомного типа постов внутри плагина?
Как задать шаблон вывода для кастомного типа постов внутри плагина? Например есть плагин, где...

как упростить доступ к методам модели ?
Здравствуйте. У меня такая проблема. У меня есть контроллер и модель. Мне нужно работать с методами...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.