Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jQuery callback для getJSON -- метод 
V
    Опции темы
solenko
Дата 15.5.2008, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: нет
Всего: 67



Здравствуйте.
Уже много раз рабиралась тема как же навесить в качестве обработчика события метод объекта, т.е. общий принцип понятен.
Вопрос -- нет ли случайно в jQuery стандартного метода для этой задачи (как, например, в GEvent)?



--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
ksnk
Дата 15.5.2008, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



Метод bind навешивает все обработчики. Для некоторых заведены "сокращения" - click, mouseover, ets...



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
solenko
Дата 15.5.2008, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: нет
Всего: 67



ksnk, вы не поняли вопроса.
Код

function obj() {
  this.variable = 2;
}

obj.prototype.callback = function() {
  alert(this.variable);
}
var obj1 = new obj();

Есть ли возможность начесить callback в контексте obj1 не создавая вручную дополнительной функции?


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
ksnk
Дата 15.5.2008, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



А в jQuery нет самостоятельных объектов. Есть единственный и неповторимый, именуемый правоверными $. Все остальные объекты - суть проявление ереси!  smile 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
solenko
Дата 16.5.2008, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: нет
Всего: 67



Придумал я вызывать обработчики слебующим образом:

Код

jQuery('.my_selector').bind('mouseover', {"obj": this, "method": this.myMethod}, jQueryCallback);
...
function jQueryCallback(event) {
  event.data.method.call(obj, this, event);
}


Хотелось бы узнать ваше мнение -- насколько корректен такой способ. Меня почему-то смущает что в обработчик передается event, которая собержит ссылку на это обработчик. Вроде бы и ничего страшного, но страшные слова "утечка памяти" не дают спать спокойно )


Это сообщение отредактировал(а) solenko - 16.5.2008, 13:22


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
krundetz
Дата 16.5.2008, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 2
Всего: 69



jQuery.ajaxSetup( options ) - позволяет выполнить установку глобальных настроек для выполнения ajax-запросов. Принимает один аргумент в виде набора пар ключ/значение чтобы сконфигурировать настройки ajax-запросов по умолчанию. Все настройки опциональны.
jQuery.ajaxComplete( callback ) - прикрепляет функцию, которая выполняется всякий раз, когда выполнен ajax-запрос.
Почитайте вот это:
http://www.linkexchanger.su/2008/37.html
и вот это:
http://www.linkexchanger.su/2008/34.html
и ещё вот это:
http://www.linkexchanger.su/2008/35.html

Это сообщение отредактировал(а) krundetz - 16.5.2008, 15:28


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
ksnk
Дата 16.5.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



я бы влепил сюда обработчик замыканием... Как-нибудь так
Код

jQuery('.my_selector').bind('mouseover', {"obj": this, "method": this.myMethod}, 
    (function(e){
        return function (evenе) {e.myMethod(event)};
    })(this)
);
...

А с утечкой памяти траблы или есть или нет. Есть какие-то более менее научные методы выяснить наличие ликов в експлорере. По идее, неплохо бы про unbind'дить все обработчики...


Это сообщение отредактировал(а) ksnk - 16.5.2008, 15:54


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
solenko
Дата 16.5.2008, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: нет
Всего: 67



krundetz, и как же все это может помочь в решении описанно проблеммы? 


ksnk, а в чем разница замыканием/нет? Мне кажется что мой код даже немного правильней -- функция одна а не по количству обработчиков (хоть это и несущественно). 
Я под утечкой имел в виду не утехка между страницами, а именно в процессе работы без перезагрузки. Я просто попытался представить всю цепочку ссылок но запутался окончательно.


А как определяют расход памяти скриптом? Вообще какими методами можно делать замеры произодительности для javascript'ов?
//к задаче это уже не относится -- чисто академический интерес




--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
ksnk
Дата 17.5.2008, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



Цитата(solenko @  16.5.2008,  16:14 Найти цитируемый пост)
А как определяют расход памяти скриптом?

Для IE6-го есть тулзы вроде Drip'а. А вообще - кроме метода научного тыка ничего лучше пока не придумали. ;-) Смотреть расход памяти в Диспетчере задач, или в Procesы Explorer'е каком...
Цитата(solenko @  16.5.2008,  16:14 Найти цитируемый пост)
а в чем разница замыканием/нет?

В моем случае можно было бы выкинуть параметр {"obj": this, "method": this.myMethod} из обработчика, он там становится ненужным... С другой строны - генерация новой функции и генерация нового объекта - задачи примерно одного уровня "расходности". 
Впрочем, если работает, то лучше ничего не трогать ;-)


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0810 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.