Не будем вдаваться в реализацию обработки событий
jQuery, но основное для вас:
1. Для установки/снятия обработчика (он же слушатель) есть пары
on() —
off(),
bind() —
unbind(),
delegate() —
undelegate().
2. Устанавливаем и снимаем обработчик в одном объекте
jQuery. Если вы слушаете в каком-то элементе (коллекции элементов), то в в другом элементе уже не снимете. Не имеет значения, как вы получили объект, с помощью селектора атрибута, класса, имени тэга, или прямой ссылки, — это должен быть либо тот же объект, либо элемент той же коллекции.
$('a[href]').on('click', function (e) {
e.preventDefault();
// Дальше мутим
});
$('.select-city').off('click');
3. Используйте селектор отрицания
:not().
$(document).on('click', 'a[href]:not(.select-city)', function (e) {
e.preventDefault();
// Дальше мутим
});