Live давно deprecated. Надо юзать on
$('#places_filters').on('click', '#a_link', function(){
var link = $(this);
window.location.href = window.location.href.replace(/#!.*/g, '') + '#!' + link.attr('href');
$sort = link.attr('sort_id');
$.get('/ajax/places?sort='+$sort, function(data) {
$('#places_filters').html(data);
});
return false;
})
Сие подразумевает, что '#places_filters' никогда не поменяется никакими аяксами. Jquery будет палить все клики по нему и, если кликнули внутри него на '#a_link' - выполнять третий аргумент.
А еще, почему это у вас $('#filter #a_link').each - не должно быть элементов с одинаковыми айдишниками на странице - тут нужно классы использовать...