Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
1

Не понимаю работу proxy на участке скрипта

24.04.2014, 11:06. Показов 419. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Есть вот такой скриптик:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    (function($, exports){
      var mod = function(){};
      mod.fn  = mod.prototype;
      
      mod.fn.proxy = function(func){
        return $.proxy(func, this);
      };
      
      mod.fn.load = function(func){
        $(this.proxy(func));
      };
      
      mod.fn.include = function(ob){
        $.extend(this, ob);
      };
      
      exports.Controller = mod;
    })(jQuery, window);
 
    (function($, Controller){
      
      var mod = new Controller;
      
      mod.toggleClass = function(e){ 
        this.view.toggleClass("over", e.data);
      };
      
      mod.load(function(){
        this.view = $("#view");
        this.view.mouseover(this.proxy(this.toggleClass));
        this.view.mouseout(this.proxy(this.toggleClass));
      });
      
    })(jQuery, Controller);
На всякий случай приведу css и html чтобы визуально хоть что-то видеть:
CSS
1
2
3
4
5
6
7
8
9
10
#view {
      margin: 20px;
      padding: 20px;
      width: 100px;
      border: 5px dashed blue;
    }
    
    #view.over {
      border-color: red;
    }
HTML5
1
<div id="view">Mouse over me</div>
Как работает функция proxy мне хорошо известно. Она просто фиксирует нужный контекст аналогично функции bind в js. Так вот, мне не понятна работа на этом участке:
Javascript
1
2
3
mod.fn.load = function(func){
        $(this.proxy(func));
      };
Для чего необходимо обрамление $() ? Метод в прототипе mod.fn.proxy вернул саму функцию...так для чего нужно обрамлять $() ??? поясните плиз. Спасибо.

Добавлено через 12 часов 5 минут
Разобрался, тему можно закрывать...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2014, 11:06
Ответы с готовыми решениями:

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

Объясните,пожалуйста, как сделать работу на линейном участке
Чтобы линеиризировать мост Уитстона есть 2 способа,про дифф. включение я понял,а вот про работу на...

Не понимаю работу транзистора
Посмотри картинку 1.jpg и 2.jpg светодиод не должен светится, но он почему то светится. Есть еще...

Не понимаю работу программы
Добрый день. У меня возникли проблемы и разногласия во время тестов по языку С. Не могу понять как...

2
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
24.04.2014, 14:20 2
Цитата Сообщение от vovandr Посмотреть сообщение
Разобрался, тему можно закрывать...
А с другими поделиться? Сделаю это за вас.
Цитата Сообщение от vovandr Посмотреть сообщение
Метод в прототипе mod.fn.proxy вернул саму функцию
Да и схематически она выглядит так: function(){ /*...*/ }. Теперь, обернув её в $(), мы получаем такую запись:
Javascript
1
2
3
$(function(){
   /* ... */
});
И если внимательно посмотреть, то это не что иное, как конструкция DOM-Ready
0
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
24.04.2014, 17:22  [ТС] 3
Lazy_Den Совершенно верно Причем если скрипт стоит после html можно вызвать и так:
Javascript
1
2
3
mod.fn.load = function(func){
        this.proxy(func)();
      };
Что я впоследствии и сделал
0
24.04.2014, 17:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2014, 17:22
Помогаю со студенческими работами здесь

Не понимаю работу программы
Добрый день. У меня возникли проблемы и разногласия во время тестов по языку С++. Не могу понять...

Не до конца понимаю работу с итераторами
Реализовать вспомогательный класс, который мог бы работать как заместитель контейнера,...

правильно ли я понимаю работу ООП
Начал осваивать ООП , подскажите пожалуйста правильно ли я понимаю работу ООП &lt;?php...

Правильно ли я понимаю работу этого кода?
#include &lt;iostream&gt; #include &lt;cctype&gt; using namespace std; int main () { char str1 =...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru