使用 Jquery 中的 contenteditable 处理 copy/paste 和最大长度

Handling copy/paste and max length using contenteditable in Jquery

在 Jquery 中使用 contenteditable 是否有适当的方法来处理 copy/paste 和最大长度?目前,我仅将下面的代码用于最大长度。但是,如果用户决定复制粘贴的文本长度超过允许的最大长度,该文本仍将通过。

基本上,我的目标是将字符的长度限制设置为 200,如果用户决定复制粘贴某些内容,尤其是当它超过允许的最大长度时,我还想要一种合适的方式来处理。

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

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

});

您可以添加一个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
    }
});