Создайте отдельную функцию, например shouldToggleClass
, и вызовите эту функцию из обоих прослушивателей событий. Также вы можете напрямую использовать click
вместо addEventlistener, поскольку jquery уже используется
const $ = (selector) => {
return document.querySelector(selector);
};
$('#datePickerStart').addEventListener('click',(e) => {
shouldToggleClass(e)
});
function shouldToggleClass(e) {
const isEventPath = checkEventPathForClass(e.path, 'booking-dropdown');
if (!isEventPath) {
$('#dropDownStart').classList.toggle('active');
}
}
function checkEventPathForClass(path, selector) {
for (item of path) {
if (item.classList && item.classList.contains(selector)) {
return true;
}
}
return false;
}
$('body').addEventListener('click',(e) => {
shouldToggleClass(e)
});