Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.04.2019, 11:53
Новичок на форуме
Отправить личное сообщение для Борис Ф Посмотреть профиль Найти все сообщения от Борис Ф
 
Регистрация: 05.04.2019
Сообщений: 4

Необходимо зарегистрировать событие
Добрый день, господа!
Докручиваю учебный проект. Необходимо закрывать popup по клику мышки. Соответственно необходимо зарегистрировать событие клика мимо двух элементов (кнопки, которая открывает/закрывает форму и самой формы).
Привожу часть кода:

document.addEventListener('click', function(evt) {

var sBc = document.getElementById("search-button-call");
var sF = document.getElementById("search-form");
if (!sBc && !sF) {
alert ("нажал мимо");
}
});

Как ни странно, он не работает

Прошу не кидать тапками, понимаю, что вопрос дурацкий.
Ответить с цитированием
  #2 (permalink)  
Старый 05.04.2019, 12:30
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от Борис Ф
Как ни странно, он не работает
Ничего странного...
Ты сам-то прочитай свое условие
Сообщение от Борис Ф
if (!sBc && !sF)
Какой в нем смысл?
Ответить с цитированием
  #3 (permalink)  
Старый 05.04.2019, 12:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Борис Ф, вот почитай про аналогичную "проблему"...
Понять по какому элементу был осуществлен клик
Ответить с цитированием
  #4 (permalink)  
Старый 05.04.2019, 12:56
Новичок на форуме
Отправить личное сообщение для Борис Ф Посмотреть профиль Найти все сообщения от Борис Ф
 
Регистрация: 05.04.2019
Сообщений: 4

Сообщение от ksa Посмотреть сообщение
Ничего странного...
Ты сам-то прочитай свое условие

Какой в нем смысл?
Думал что описываю клик мимо двух вышеуказанных элементов. Для этого соответственно поставил !.
Ответить с цитированием
  #5 (permalink)  
Старый 05.04.2019, 13:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Борис Ф,
https://javascript.ru/forum/misc/754...tml#post496299
https://javascript.ru/forum/events/7...tml#post460646
https://javascript.ru/forum/dom-wind...tml#post457301

вагон и маленькая тележка ... искать "закрытие блока" и медитировать над строками с "closest"
Ответить с цитированием
  #6 (permalink)  
Старый 05.04.2019, 16:22
Новичок на форуме
Отправить личное сообщение для Борис Ф Посмотреть профиль Найти все сообщения от Борис Ф
 
Регистрация: 05.04.2019
Сообщений: 4

Спасибо, господа!
Решил таким образом, вроде работает.

//блок закрытия формы при нажатии мимо
document.addEventListener('click', function(evt) {
if (evt.target.id != "search-form" && evt.target.id != "search-button-call") {
formSearch.classList.remove("js-form-show");//убираем класс открытия формы
formSearch.classList.add("js-form-close");//добавляем класс закрытия формы
}
});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо повесить событие на кнопку Mansitto ExtJS 1 27.12.2017 12:21
Плагин jQuery - как сгенерить событие? maxapet jQuery 1 31.08.2015 09:44
событие mouse up Trues Общие вопросы Javascript 4 05.05.2015 23:58
Событие click Гробовщик jQuery 1 31.07.2013 07:28
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46