Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.06.2017, 10:34
Аватар для borus
Кандидат Javascript-наук
Отправить личное сообщение для borus Посмотреть профиль Найти все сообщения от borus
 
Регистрация: 07.12.2012
Сообщений: 127

Не срабатывает обработчик клика
Здравствуйте!

На странице прямо в теле вшит код js-обработчика:
jQuery("#aux").click( function(e) {//функция, скрывающая форму
	if(!(e.target.getAttribute('class') != 'addtocart_button' || e.target.getAttribute('id') == 'agree')) {
		jQuery("#contactForm_oneclick").fadeOut();
		jQuery("#window").fadeOut();
		jQuery("#aux").css("display","none");
		jQuery("html,body").css("overflow","auto");
		jQuery("body").css("padding-right","0px");
	}
} );

который призван срабатывать тогда, когда после вызова всплывающей формы "Заказ в 1 клик"(открывается после нажатия по одноименной кнопке), кликаешь куда-то в темный фон.
Вопрос, почему этот обработчик не срабатывает, когда кликаю по затемнённому фону?

Последний раз редактировалось borus, 13.06.2017 в 10:37.
Ответить с цитированием
  #2 (permalink)  
Старый 13.06.2017, 11:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 13,235

Сообщение от borus
почему этот обработчик не срабатывает, когда кликаю по затемнённому фону?
Вариантов несколько...
- обработчика нет на том элементе
- до этого элемента не доходит всплытие события
- элемент перекрыт другим элементом
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2017, 13:01
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Зашел по ссылке, форма всплывает, но кликнув в любое поле исчезает, в общем не смог заполнить чтоб попробовать.
Ответить с цитированием
  #4 (permalink)  
Старый 13.06.2017, 13:06
Аватар для borus
Кандидат Javascript-наук
Отправить личное сообщение для borus Посмотреть профиль Найти все сообщения от borus
 
Регистрация: 07.12.2012
Сообщений: 127

похоже условие if надо переделать. Скажите, пожалуйста, а как в js можно проверить принадлежность e.target элемента какому-то диву с некоторым id? При этом e.target элемент может быть разной степени вложенности с проверяемым дивом, то есть может быть не прямым потомком дива
Ответить с цитированием
  #5 (permalink)  
Старый 13.06.2017, 13:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от borus
как в js можно проверить принадлежность e.target элемента какому-то диву с некоторым id?
В данном контексте this.id == ?, как впрочем и иное.
Ответить с цитированием
  #6 (permalink)  
Старый 13.06.2017, 14:13
Аватар для borus
Кандидат Javascript-наук
Отправить личное сообщение для borus Посмотреть профиль Найти все сообщения от borus
 
Регистрация: 07.12.2012
Сообщений: 127

Сообщение от laimas
В данном контексте this.id == ?, как впрочем и иное.
Спасибо, похоже именно то в данном случае. А как про вопрос про то как отследить принадлежность элемента неизвестно насколько далекому прародителю?
Ответить с цитированием
  #7 (permalink)  
Старый 13.06.2017, 14:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от borus
А как про вопрос про то как отследить принадлежность элемента неизвестно насколько далекому прародителю?
Пройти по цепочке до нужно - найдено, значит оно, нет ...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработчик события срабатывает без события! Подскажите пожалуйста opawina Events/DOM/Window 3 11.09.2016 06:49
Обработчик срабатывает сразу же после установки vuler Общие вопросы Javascript 5 24.03.2015 14:17
Не срабатывает обработчик window.onload. Alex82 Events/DOM/Window 16 22.02.2013 19:06
jQuery - не срабатывает обработчик в change() senglory jQuery 1 28.12.2012 01:04
Нажатие по дате в календаре срабатывает только со второго клика afr0 Events/DOM/Window 4 31.10.2012 11:39