У меня есть кастомный селект. Когда он находится в состоянии "открыт", то клик на "body" должен закрывать его. Но данное условие должно происходить только тогда когда селект открыт. Как это сделать?
При открытии селекта добавляем обработчик клика на боди отдельно созданной именованной функцией.
В обработчике клика на боди проверяем, открыт ли селект.
Селект открыт - закрываем селект, удаляем обработчик клика с боди по имени функции
Селект закрыт - где-то что-то пошло не по плану, так как селект закрыт, а обработчик ещё висит на боди. Удаляем этот обработчик с боди по имени функции