jquery ajaxStart не работает - PullRequest
       0

jquery ajaxStart не работает

9 голосов
/ 27 октября 2010

Если вы нажмете на кнопку здесь, чтобы заказать здесь: http://www.game onglove.com/gog / test3.html, а затем нажмите ту же кнопку в всплывающем окне с лайтбоксом, будет запущен запрос ajax используя $ .post ().

Вы можете нажать «Продолжить покупки», чтобы вернуться к предыдущему окну лайтбокса, чтобы быстро начать все сначала.

Если я выполню код jquery здесь, в консоли (chrome или firefox), то он будет работать правильно. Это просто не будет работать с того места, где оно находится в исходном коде:

$('#cboxLoadingGraphic').ajaxStart(function() {
$(this).show();
$('#cboxLoadedContent').hide();
}).ajaxStop(function() {
$(this).hide();
$('#cboxLoadedContent').fadeIn('slow');
});

Почему он будет работать с консоли, а не в своем текущем местоположении в источнике? Как мне заставить это работать?

1 Ответ

24 голосов
/ 27 октября 2010

Этот элемент создается позже, вам нужно привязать его после создания, или немного проще - просто связать обработчик с document с самого начала:

$(document).ajaxStart(function() {
  $('#cboxLoadingGraphic').show();
  $('#cboxLoadedContent').hide();
}).ajaxStop(function() {
  $('#cboxLoadingGraphic').hide();
  $('#cboxLoadedContent').fadeIn('slow');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...