Имеются блоки div contenteditable="true" для комментариев на странице со следующим кодом:
<div contenteditable="true" class="form-control contenteditable comment-textarea-edit js_app_comment_feed_textarea" data-text="{_p var='write_a_comment'}" ondragover="return false;" ondrop="return false;"></div>
Решил ограничить количество символов в них. Нашел javascript код, подключил:
window.addEventListener('DOMContentLoaded', function() {
var divs = document.querySelectorAll('div[contenteditable]');
[].forEach.call(divs, function(self) {
var maxLength = 50;
if(maxLength) {
self.addEventListener('input', function(e) {
if(this.innerHTML.length > maxLength) {
var selection = window.getSelection(),
range = selection.getRangeAt(0),
pos = range.endOffset;
this.innerHTML = this.innerHTML.substr(0, maxLength);
try {
range.setStart(range.startContainer , pos);
} catch (e) {
range.setStart(range.startContainer , pos - 1);
}
selection.removeAllRanges();
selection.addRange(range);
}
}, false);
}
});
});
Но естественно вновь подгруженные блоки при прокрутке страницы остаются "осиротевшими" и это не работает должным образом. Подскажите, как это исправить и организовать выполнение javascript правильно?
Буду благодарен за любую помощь, которую Вы сможете мне оказать.