Показать сообщение отдельно
  #8 (permalink)  
Старый 05.10.2020, 07:23
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,704

Извините, а вы для каких браузеров это делаете (по каким книжкам js изучаете)? Вряд ли нужно сейчас писать в расчете на ИЕ8 и более ранние.

Сейчас не нужны никакие e.srcElement. Только e.target
И есть функция elt = element.closest(selectors)
см https://developer.mozilla.org/ru/doc...lement/closest

Есть еще функция matches
https://developer.mozilla.org/ru/doc...lement/matches

Поэтому
el.nodeName == 'LI' && el.hasAttribute('data-m1vpopupmenuid')
записывается, как
el.matches('li[data-m1vpopupmenuid]')

А весь цикл, как
el = e.target.closest('li[data-m1vpopupmenuid]') // 'элемент-предок, если есть такой, null - если нет

Последний раз редактировалось voraa, 05.10.2020 в 07:31.
Ответить с цитированием