функция mouseup при нажатии за пределами div

0

У меня есть рабочая 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) работает некорректно. Как я могу заставить ее работать? Большое спасибо.

Теги:
mouseevent
parent
fade

1 ответ

0

Второе условие неверно. Но вы можете изменить все свое условие для этого:

if (!$(e.target).is('#containerprC, #containerprC *')) 

Он будет проверять, является ли цель div или одним из его детей.

  • 0
    Когда я использую предложенное вами условие, ни одна из оригинальных функций jquery не работает для html-страницы. Поэтому я не могу исчезнуть из других контейнеров и исчезнуть в containerprC (точка, в которой возникает проблема выше).
  • 0
    @LauraMaasry Как вы думаете, вы можете воспроизвести проблему в jsFiddle?
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню