Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Выборка элементов querySelectorAll (https://javascript.ru/forum/events/71107-vyborka-ehlementov-queryselectorall.html)

Nexus 31.10.2017 12:54

Цитата:

Сообщение от Nlk
Что e.target событие понятно.

Объект события - "e", "e.target" - HTMLElement, на котором произошло событие "e.type".
В этой строке проверяется является ли элемент, на котором произошло событие дочерним по отношению к элементу main или элемент "main" и есть тот элемент, на котором это событие произошло.

Nlk 31.10.2017 15:02

Nexus,
огромное спасибо, что разъяснили столь подробно.

Nlk 20.11.2017 13:55

Скажите метод matches подходит для проверки класса по которому было произведено событие?
window.onclick = function(event) {
  if (event.target.matches('.dropbtn')) {}

рони 20.11.2017 14:12

Цитата:

Сообщение от Nlk
matches подходит для проверки класса

а самому проверить? да, но возможно лучше будет closest

Nlk 20.11.2017 15:14

рони,
Спасибо за ответы, я знал что пример рабочий, просто хотел уточнить возможные нюансы. Как к примеру вы упомянули про closest, я в первые про него слышу. В остальном постараюсь понапрасну не писать.

Nlk 27.11.2017 15:52

Скажите пожалуйста, у меня такой вопрос.
Есть модальное окно, при его всплытии работает скролл сайта.
Могу ли я от него избавиться, таким путем задав body class или id, и впоследствии в момент всплытия popup-окна добавить ему данный класс. К примеру:
.popup-active. classBody {
     overwlov:hidden;
}

Nlk 27.11.2017 16:05

Или это может вообще считается не очень хорошей практикой body задавать класс?

Nexus 27.11.2017 16:15

Nlk, нормальная практика.
У вас css малость кривоват.
body.popup-active{overflow:hidden;}

Nlk 27.11.2017 16:41

Nexus,
в данном случае если я не ошибаюсь overflow:hidden мы задаём классу .popup-active, а мне нужно overflow:hidden задать body чтобы при всплытии моего popup-окна прокрутка сайта исчезла. Или я чего -то не понимаю..

Nexus 27.11.2017 16:45

Nlk, нельзя добавить класс дочернему элементу, а свойство объявить его родителю, поэтому когда popup показывается тэгу body добавляете класс "popup-active".
У body с классом "popup-active" скроллбары отключаем (код я привел выше).

Тут вроде бы адекватное описание селекторов:
https://misha.blog/css/selektoryi.html


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