Показать сообщение отдельно
  #3 (permalink)  
Старый 23.11.2019, 12:25
Профессор
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 151

Сделал всё-таки через имитацию события:

let elements = frstItem.concat(scndItem, lstItem)
  elements.forEach(element => {
    let choices = element.querySelectorAll('.choices__list.choices__list--single .choices__item--selectable')

    choices.forEach(element => {
      let value = element.getAttribute('data-value')
      let choices = element.closest('.choices').querySelector(`.choices__list.choices__list--dropdown .choices__list [data-value="${value}"]`)

      choices.addEventListener("choice", ruleEvent)
     // у кастомного события в этом контексте нет event.detail.choice.value
     // поэтому выше вытягивает его из дата-атрибута, а тут присваиваем
      choices.dispatchEvent(new CustomEvent("choice", {
        detail: {
          choice: {
            value: value
          }
        }
      }))

    })
  })
Ответить с цитированием