У меня есть небольшой скрипт для управления обратным вызовом Summernote.
Этот скрипт контролирует максимальное количество символов внутри текстовой области. Все работает нормально, за исключением случая, когда я вставляю новую строку, которая с информацией textarea превышает предел.
Например:
Макс. Предел: 10
Содержимое Summernote: 1234567
Копировать и вставить 123456
Ожидаемое поведение: 1234567 12
Полученное поведение: 1234567 123456 12
Это скрипт для управления действием:
onPaste: function (e) {
var t = e.currentTarget.innerText;
var bufferText = ((e.originalEvent || e).clipboardData || window.clipboardData).getData('Text');
e.preventDefault();
if (t.length + bufferText.length >= maxLength) {
var bufferTextAllowed = maxLength - t.length;
setTimeout(function() {
if(bufferTextAllowed > 0){
document.execCommand('insertText', false, bufferText.substring(0, bufferTextAllowed));
}
return;
}, 10)
}
}
Не могли бы вы подсказать, как исправить эту ошибку?
С уважением!