@Svetlakofff

Как повесить обработчик события на объект лайтбокса, который еще не существует на странице?

Имеется страница с миниатюрой, при нажатии на которую открывается Lightbox с оригиналом.
Необходимо обрезать текст в названии изображения через javascript.
Прикрутил пробный скрипт повесив обработчик на щелчок мыши - работает, но только после нажатия разумеется.

<div class="light_top_hover">
            {if !empty($aForms.title)}
            {$aForms.title}
            {else}
..............................................
</div>


/* Не работает */

window.addEventListener('DOMContentLoaded', function() {
    var cut = document.getElementsByClassName('light_top_hover');
    for( var i = 0; i < cut.length; i++ ){
      cut[i].innerText = cut[i].innerText.slice(0,20) + '...';
    }
  });

/* Работает после клика */  

window.addEventListener('click', function() {
  var cut = document.getElementsByClassName('light_top_hover');
  for( var i = 0; i < cut.length; i++ ){
    cut[i].innerText = cut[i].innerText.slice(0,20) + '...';
  }
});


Понимаю, что это нужно правильно организовать через делегирование события, но масла в голове видимо не хватает)
Как заставить это работать самостоятельно при открытии лайтбокса?

Заранее благодарю за предложенный вариант.
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы