Имеется страница с миниатюрой, при нажатии на которую открывается 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) + '...';
}
});
Понимаю, что это нужно правильно организовать через делегирование события, но масла в голове видимо не хватает)
Как заставить это работать самостоятельно при открытии лайтбокса?
Заранее благодарю за предложенный вариант.