@MdaUZH

Как отследить клик вне определенного элемента?

Снова поднят старый вопрос, почитал тут уже были такие, но четкого ответа нет..
+ я вообще мало понимаю в js, но думаю разобраться по тихоньку смогу.

Суть вопроса.

Подскажите как определить клик вне определенного элемента?
например есть div, у него много дочерних элементов, и при клике вне его самого, нужно его подвинуть.

Вся проблема в клике по самому диву, а точнее по его дочерним

Небыло бы дочерних было бы проще, сравнил себе event.target и доволен, но нет..

Как узнать что клик произошел по самому элементу или 1 из его дочерних( много уровней вложенности)
?

Подскажите пожалуйста, буду очень благодарен если прокомментируйте свой код, так будет на много легче разобраться, спасибо большое)
  • Вопрос задан
  • 2044 просмотра
Пригласить эксперта
Ответы на вопрос 2
petermzg
@petermzg
Самый лучший программист
if ($(e.target).parents().filter(menuelement).length){
  ...
}

Получаем множество элементов, что являются родительскими для элемента на котором был click и в этом множестве проверяем наличие нужного вам.
Ответ написан
trushka
@trushka
Ну, на чистом js, чтоб меньше кода, можно просто на элемент обработчик повесить, в котором исполняется метод event.stopPropagation(), предотвращающиё всплытие. Тогда на document, например, вешается нужный обработчик, и он тупо не сработает, если клик будет на вашем элементе, так как на нём обработчик, отменяющий "всплытие"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы