Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   JQuery. Ajax. Глобальные функции (https://javascript.ru/forum/jquery/21161-jquery-ajax-globalnye-funkcii.html)

Harvey 30.08.2011 22:35

JQuery. Ajax. Глобальные функции
 
Привет!

Читаю книгу "JQuery. Подробное руководство по продвинутому Java Script" Раздел об Ajax дается ооочень тяжело. В примерах не описывается серверная часть, по этому толком непонятно как все это работает. Но вопрос у меня все таки конкретный. Вот обработчик события успешного завершения запроса:

$( 'usuccessDisplay').ajaxSuccess(function(info){
   $(info,target)
   .append('<div>Success at '+new Date()+'</div>');
 } );


Скажите пожалуйста, зачем здесь параметр info и что в него передается и кто в него это передает? И зачем внутри функции делать очередную обёртку в виде $(info,target), если мы и так указали, что результат функции должен отображаться в $( 'usuccessDisplay')
Спасибо!

melky 31.08.2011 09:09

Цитата:

Сообщение от Harvey (Сообщение 123688)
Скажите пожалуйста, зачем здесь параметр info и что в него передается и кто в него это передает? И зачем внутри функции делать очередную обёртку в виде $(info,target), если мы и так указали, что результат функции должен отображаться в $( 'usuccessDisplay')

$( 'usuccessDisplay') будет находиться в $(this)

и что такое target ? можно почитать документацию, в ней написано, что первым аргументом передается jQuery.event, который содержит в себе currentTarget, в котором находится this, т.е. usuccessDisplay .. и других полезных вкусностей для обработки результата.


$( 'usuccessDisplay').ajaxSuccess(function(info){
   $(info,target)
   .append('<div>Success at '+new Date()+'</div>');
 } );

Harvey 31.08.2011 10:13

Цитата:

можно почитать документацию, в ней написано, что первым аргументом передается jQuery.event, который содержит в себе currentTarget, в котором находится this, т.е. usuccessDisplay
Да, спасибо. Но почему тогда не сделать так ?

$( 'usuccessDisplay').ajaxSuccess(function(){
   $(this)
   .append('<div>Success at '+new Date()+'</div>');
 } );


Не понимаю зачем нужна конструкция info.target

И все таки, что есть info?

SkyLight 31.08.2011 13:14

Цитата:

И все таки, что есть info?
Вам же сказали - это объект event, который содержит информацию о произошедшем событии.

melky 31.08.2011 15:53

напишите console.dir(info) в функции и посмотрите в консоль.

Harvey 31.08.2011 16:54

Да, видать я недостаточно подготовлен, что бы внимать ответам. Спасибо ребят, буду читать)


Часовой пояс GMT +3, время: 05:49.