Как определить, что загрузка элементов (load) завершена? - PullRequest
2 голосов
/ 25 ноября 2011

Я пытаюсь загрузить некоторые элементы с другой страницы моего сайта, и я это сделал. Но я также попытался применить некоторые действия jquery к загружаемым элементам. Но сценарии, которые я написал для них, пропускаются, потому что они запускаются до загрузки элементов. Есть идеи, как определить, завершена ли загрузка элемента? (Возможно, это глупый вопрос, но я действительно не могу найти ответ).

Вот как я загружаю свои элементы:

$('#homeCat2').load('category.php?id_category=2 #product_list');

Я пробовал что-то подобное, но это было бесполезно:

$('#homeCat2').load('category.php?id_category=2 #product_list',whenCompleteLoad());

function whenCompleteLoad(){
    var itemNum = $('.ajax_block_product').length;
    alert(itemNum);
};

Я также попытался поместить код этих элементов в $ (document) .ready (); но не повезло ....

Есть предложения?

1 Ответ

2 голосов
/ 25 ноября 2011

Вы передаете вывод из whenCompleteLoad() в слот обратного вызова вашей функции .load().Это происходит потому, что когда вы добавляете скобки, вы вызываете функцию.

Удаление скобок ссылается на фактическую функцию, которая вам нужна:

$('#homeCat2').load('category.php?id_category=2 #product_list',whenCompleteLoad);

Или вы можете использовать анонимную функцию(Я предпочитаю этот метод):

$('#homeCat2').load('category.php?id_category=2 #product_list', function() {
  var itemNum = $('.ajax_block_product').length;
  alert(itemNum);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...