Подскажите как в i-bem правильно отслеживать например клик вне блока или элемента в jQuery это выглядит примерно так
$(document).on("mouseup touchend", function (event) {
// условие
});
Например нужно закрыть попап при клике вне его
Подскажите как в i-bem правильно отслеживать например клик вне блока или элемента в jQuery это выглядит примерно так
$(document).on("mouseup touchend", function (event) {
// условие
});
Например нужно закрыть попап при клике вне его
Вариантов полно. Большинство описано в топике https://github.com/bem/bem-forum-content-ru/issues/163 На вскидку:
тупо заюзать jqueryНе нужно закрывать попап при клике вовне. Нужно закрывать при потере фокуса. вот есть метод и метод
@apsavin не могу что-то сообразить, не могли бы вы подсказать пример кода?
Вместо
Ой простите. Совсем не заметил, что событие на document ожидалось ловить. И пример с попапом как-то не прочитал :facepalm:
@apsavin А как правильно будет написать что клик был вне элемента? В jquery я бы писал как то так
Но в данном случае нужно как то передать элемент или блок Прошу прощения за навязчивость
Ну тут ведь у вас тот же jQuery. Можно как-то так:
Забудьте про клики, с вашего попапа табом уйдут, отслеживайте фокус.
@apsavin Что то я совсем затупил
В данном случае как будет правильно написать что событие произошло на не активном элементе?
@serhioone ой Вы уверены, что хотите вешать событие на документ каждый раз, когда кто-то кликает по ссылке?
Совсем не уверен, в данном случае линк это ссылка открывающая dropdown menu и задача что если был сделан клик вне этой ссылки и dropdown все это дело прятать, учитывая что этих ссылок минимум 2
Господа, на будущее, есть bem-components >_< Там есть кнопка, попап, что угодно еще, где уже все хорошо и работает, значит если не можем использовать - то надо смотреть :)
Попробуем решить задачу с закрытием...