Вы вешаете клик на body, а отписываетесь на ссылке.
если нужен клик на всем body кроме ссылки то можно так
$('body').on('click', 'a[href]', function (e) {
if($(e.target).is("a.select-city")){
return true;
}
e.preventDefault();
var link = $(this).attr('href');
updatePrice(link);
});
тоесть в обработчике клика проверить - не кликнули ли это по нашей ссылке. И если кликнули то сразу выходим с положительным результатом, чтобы браузер обработал клик.