Останавливайте всплытие события при клике на
.close-panel
, чтобы только что удалённый класс не добавлялся обратно (при обработке события в родительском элементе):
$('.close-panel').on('click', function(e) {
e.stopPropagation();
$('.add-caption').removeClass('active');
});
Или, уберите отдельный обработчик клика по
.close-panel
, а в обработчике клика по
.add
добавляйте или убирайте класс в зависимости от того, откуда пришло событие:
$('.add').on('click', function(e) {
$('.add-caption').toggleClass('active', !$(e.target).hasClass('close-panel'));
});