Здравсвуйте. Подскажите как сделать грамотную проверку на наличие условия.
Есть кусочек кода который отвечает за удаление нескольких класов по тач событию. При результате проверки ($('#popup_new_custom_kit').hasClass('popup-show')) = true
Нужно чтоб код не срабатывал, классы не удалялись
Изначальный код
function closeSelectKitTouch() {
$(document).on('touchstart' && 'touchend', function (e) {
var container = $(".swipe-menu");
if (container.has(e.target).length === 0) {
$('.wrapper ').removeClass('active-swipe-menu');
$('#main-wrap').removeClass('active-swipe-menu');
}
});
}
Измененый код( так все работает как нужно)
function closeSelectKitTouch() {
$(document).on('touchstart' && 'touchend', function (e) {
if ($('#popup_new_custom_kit').hasClass('popup-show')) {
// что тут должно быть?
}
else {
var container = $(".swipe-menu");
if (container.has(e.target).length === 0) {
$('.wrapper ').removeClass('active-swipe-menu');
$('#main-wrap').removeClass('active-swipe-menu');
}
}
});
}
Меня смущает то что у меня в действиях для if просто пусто.
Собственно в этом и вопрос можно ли так оставлять? Или что там должно быть?
Поставьте "!" перед условием, т.е. :
function closeSelectKitTouch() {
$(document).on('touchstart' && 'touchend', function (e) {
if (!$('#popup_new_custom_kit').hasClass('popup-show')) { // т.е. "если не"
var container = $(".swipe-menu");
if (container.has(e.target).length === 0) {
$('.wrapper ').removeClass('active-swipe-menu');
$('#main-wrap').removeClass('active-swipe-menu');
}
}
});
}
Так же обратите внимание на конструкцию:
'touchstart' && 'touchend'
Не равна ли она true? Честно, не уверен, но есть подозрение, что это будет отрабатывать не так, как ожидается.
Несколько ивентов объявляются просто через пробел:
'touchstart touchend'
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники