У меня возникла проблема при использовании плагина jQuery Masonry с вызовом ajax.
У меня есть функция фильтра, которая получает довольно стандартный HTML-контент с сервера (divs, без изображений):
var searchResults = $('div#results');
function filter() {
var text = 'text';
var orderby = 'order';
var source = 'source';
var media = 'media';
var format = 'format';
var tags = 'tags';
var fetchUrl = '/search/results/ ' + text + '/' + orderby + '/' + source + '/' + media + '/' + format + '/' + tags;
$.ajax({
type: "POST",
url: fetchUrl,
cache: false,
data: "after=000000",
success: function(data){
searchResults.html(data);
$('#results').masonry({
columnWidth: 360,
itemSelector: '.related'
});
}
});
}
Затем он вызывается при загрузке страницы следующим образом:
if (searchResults.length > 0) {
filter();
}
Все работает как положено.Тем не менее, когда я пытаюсь вызвать filter()
одним щелчком мыши, содержимое получается нормально, но кладка не форматирует его:
$('nav#view-types a#grid, nav#view-types a#list').click(function() {
filter();
return false;
});
Поскольку я вызываю кладку в функции успеха Ajax, и она работаетпри первом запуске я не могу понять, в чем проблема ... у кого-нибудь есть идеи?
Спасибо!
Джеймс