Summernote превышает допустимое количество символов "onPaste" - PullRequest
0 голосов
/ 31 января 2020

У меня есть небольшой скрипт для управления обратным вызовом 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)
                }
            }

Не могли бы вы подсказать, как исправить эту ошибку?

С уважением!

...