Когда вы фильтруете элементы портфолио, они динамически восстанавливаются, поэтому ранее связанное поведение теряется (в вашем случае, событие щелчка).
Чтобы решить, что jQuery имеет событие .live () , которое присоединяет обработчик событий не только к текущим элементам DOM, но также к элементам, созданным в будущем (т.е. не создан, когда DOM был загружен, но позже).
В вашем коде .js у вас есть этот вызов:
portfolioItemsEnabled.click( function (e) {
if(!jQuery(this).hasClass('active') && jQuery(this).hasClass('visible')) {
portfolioItems.removeClass('active');
jQuery(this).addClass('active');
portfolioItems.not('.active').find('.overlay').css({ display: 'none' });
var postId = jQuery(this).attr('id').split('portfolio-')[1];
tz_getPortfolio(postId);
}
e.preventDefault();
});
И для того, чтобы он работал в любое время, даже когда загружены новые / разные элементы портфеля, вы должны изменить вызов следующим образом
jQuery('#portfolio-items.enabled li').live("click", function(e) {
if(!jQuery(this).hasClass('active') && jQuery(this).hasClass('visible')) {
portfolioItems.removeClass('active');
jQuery(this).addClass('active');
portfolioItems.not('.active').find('.overlay').css({ display: 'none' });
var postId = jQuery(this).attr('id').split('portfolio-')[1];
tz_getPortfolio(postId);
}
e.preventDefault();
});