.bind в JQuery 1.4.2.

igortik

Новичок
.bind в JQuery 1.4.2.

Что делаю не так?

Есть код (слушаем на наличие аякс-запроса в #area_box):

$('#area_box').bind('ajaxSend', function(){

$('#area_box').css('display','none');
$('#area_load_status').css('display','block');

}).bind("ajaxComplete", function(){

$('#area_load_status').css('display','none');
add_fansybox();
$('#area_box').toggle(300);
});

Есть иной обработчик:

$('#show_google_map a').click(function(){
var obj_id = $(this).attr('obj_id');

$('#google_map_box').load('/miniajax/s/estate_objects/google_map/?obj_id='+obj_id);

return false;
});

Нажимая на $('#show_google_map a') срабатывает тригер $('#area_box').bind (:confused:)

При этом даже в DOM блоки #show_google_map и #area_box разделены друг от друга и не находятся один в одном.. у них свои родительские блоки абсолютно не связанные.
 

igortik

Новичок
Splurov
Это ясно, а как на счет .bind ?

Если это не решение, то как быть в таком случае мне?
Ведь необходимо отслеживать отправку и статус аякс реквеста в разных блоках на странице для формирования поведения скрипта

-~{}~ 30.07.10 14:20:

Я так понимаю, что можно исходя из settings.url генерировать поведение, но ведь .bind должен работать в данном случае?

-~{}~ 30.07.10 14:23:

хотя, в http://api.jquery.com/bind/ нет ивента ajaxSend и AjaxComplete ...

В то же время, как мне сравнивать мой отправляемый url, если он генерируется автоматически, получая атрибут ссылки (obj_id)

Я чего-то не знаю ((( ....
 

Splurov

Новичок
.bind делает то же самое, что и .ajaxSend
Выполняй нужные действия в колбэках .load
Или в .load используй data и потом в settings.data забирай.
 

igortik

Новичок
Splurov
действительно.. вариант.
Спасибо!

-~{}~ 30.07.10 14:48:

Неудобно, однако: :):(((

// Send ajax request
$(this).ajaxSend(function(e, xhr, settings){

// switch
switch(settings.data)
{
case 'request=area_box':
alert('sending ...');
break;

case 'request=google_map':

break;
}
});

// Ajax request completed
$(this).ajaxComplete(function(e, xhr, settings){

// switch
switch(settings.data)
{
case 'request=area_box':
alert('completed');
break;

case 'request=google_map':

break;
}
});

Пример load:

$('#area_box').load('/miniajax/s/estate_objects/area_info/?area_id='+area_id+'&obj_id='+obj_id+'',{request:'area_box'});

неужели это единственный выход :(
 
Сверху