У меня есть рабочая html-страница с jquery с одной функцией, которая не работает:
Я создал div open ('containerprC'), скрыв два div на главной странице ('containerSW' и 'containerhort').
Теперь я хочу, чтобы ('containerprC') исчезал, когда я нажимаю только за пределами div, а для скрытых divs исчезает.
Вот сценарий:
$(document).on('mouseup', function(e) {
if (!$(e.target).is('#containerprC') && !$(e.target).parents().is('#containerprC')) {
$('#containerprC').fadeOut("slow");
$('#containerSW').fadeIn('slow');
$('#containershort').fadeIn('slow');
}
});
Затухают и работают нормально, но они случаются, если я нажимаю в любом месте страницы, в том числе внутри containerprC.
Таким образом, это означает, что первая строка (if (! $ (E.target).is) работает некорректно. Как я могу заставить ее работать? Большое спасибо.
Второе условие неверно. Но вы можете изменить все свое условие для этого:
if (!$(e.target).is('#containerprC, #containerprC *'))
Он будет проверять, является ли цель div
или одним из его детей.