@MdaUZH

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

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

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

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

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

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

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

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

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

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

Похожие вопросы