Обработка копирования / вставки и максимальной длины с использованием contenteditable в Jquery - PullRequest
1 голос
/ 28 марта 2020

Есть ли правильный способ обработки копий / вставок и максимальной длины с помощью contenteditable в Jquery? В настоящее время я использую код ниже только для максимальной длины. Однако если пользователь решил скопировать и вставить текст, длина которого превышает максимально допустимую, текст все равно будет go до конца.

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

$('div').keydown(function (event) {

if($(this).text().length >= 200 && event.keyCode != 8) {
      event.preventDefault();
    }

});

1 Ответ

2 голосов
/ 28 марта 2020

Вы можете добавить paste Событие:

$('div').on('paste', function(event) {
    // handle event
});

Подробнее об этом можно узнать в MDN Web Docs .

var editable = $('div');
editable.on('paste', function(event) {
    if (editable.text().length >= 200) {
        editable.textContent = editable.text().substr(0,200); // it uses the whole content of the editable div
    }
});
...