VS 2015 - C # упростить / усечь, используя пространства имен

Используйте класс для всех элементов, которые вы хотите прослушать, и необязательно атрибут для поведения:


  
  

350 x 150 pic

Затем добавьте слушателей событий ко всем элементам в классе:

const popable = document.querySelectorAll('.popable');
const popup = document.querySelector('.popup');
let lastClicked;

popable.forEach(elem => elem.addEventListener('click', togglePopup));

function togglePopup(e) {
  popup.innerText = e.target.dataset.text;

  // If  clicking something else, first restore '.hidden' to popup so that toggle will remove it.
  if (lastClicked !== e.target) {
    popup.classList.add('hidden');
  }
  popup.classList.toggle('hidden');
  lastClicked = e.target;  // remember the target
}

Демо: https://codepen.io/weird_error/pen/xXPNOK

21
задан iwhp 16 September 2015 в 08:59
поделиться