Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не срабатывает обработчик клика (https://javascript.ru/forum/events/69300-ne-srabatyvaet-obrabotchik-klika.html)

borus 13.06.2017 10:34

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

На странице прямо в теле вшит код 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 клик"(открывается после нажатия по одноименной кнопке), кликаешь куда-то в темный фон.
Вопрос, почему этот обработчик не срабатывает, когда кликаю по затемнённому фону?

ksa 13.06.2017 11:17

Цитата:

Сообщение от borus
почему этот обработчик не срабатывает, когда кликаю по затемнённому фону?

Вариантов несколько...
- обработчика нет на том элементе
- до этого элемента не доходит всплытие события
- элемент перекрыт другим элементом

j0hnik 13.06.2017 13:01

Зашел по ссылке, форма всплывает, но кликнув в любое поле исчезает, в общем не смог заполнить чтоб попробовать.

borus 13.06.2017 13:06

похоже условие if надо переделать. Скажите, пожалуйста, а как в js можно проверить принадлежность e.target элемента какому-то диву с некоторым id? При этом e.target элемент может быть разной степени вложенности с проверяемым дивом, то есть может быть не прямым потомком дива

laimas 13.06.2017 13:10

Цитата:

Сообщение от borus
как в js можно проверить принадлежность e.target элемента какому-то диву с некоторым id?

В данном контексте this.id == ?, как впрочем и иное.

borus 13.06.2017 14:13

Цитата:

Сообщение от laimas
В данном контексте this.id == ?, как впрочем и иное.

Спасибо, похоже именно то в данном случае. А как про вопрос про то как отследить принадлежность элемента неизвестно насколько далекому прародителю?

laimas 13.06.2017 14:14

Цитата:

Сообщение от borus
А как про вопрос про то как отследить принадлежность элемента неизвестно насколько далекому прародителю?

Пройти по цепочке до нужно - найдено, значит оно, нет ...


Часовой пояс GMT +3, время: 02:43.