Пожалуйста, помогите мне создать подходящее событие для моей ситуации. Я считаю, что истинный путь сделать это без каких-либо счетчиков (например: How to know when all ajax calls are complete)Как создать событие, вызванное после завершения некоторых вызовов ajax?
HTML:
<ul id="links">
<li><a href="1.html">What is Yoda's first name?</a></li>
<li><a href="2.html">Why does Padme die?</a></li>
<li><a href="3.html">Who is Darth Rage?</a></li>
</ul>
<div id="content"></div>
JQuery:
$('#links a').each(function (index, el) {
url = $(el).attr('href');
$('<div class="article" />').appendTo('#content')
.load(url, function(){
filterOneArticle(this);
});
});
// I want this function run after all articles will be loaded and filtered
$.bind('yepAllArticlesHaveBeenLoaded', filterAllArticles);
filterAllArticles = function() {};
filterOneArticle = function(el) {};
О, спасибо, он отлично работает, когда есть только те ajax-запросы. Но представьте, что есть другие запросы, например, галереи изображений и т. Д. `AjaxStop` будет запущен только после того, как ** все ** запросы будут завершены, но мне нужны статьи фильтров сразу после загрузки статей. – 2010-11-29 13:47:52
@pereskokov - если вам нужно это только для статей, и есть запросы * в то же время *, то используйте счетчик, у вас нет выбора там. – 2010-11-29 13:50:42
Большое спасибо, теперь я уверен, что нет никаких способов, кроме счетчиков. – 2010-11-29 14:00:00