如何使用contenteditable attribut为div元素添加maxlength限制?

时间:2016-04-28 17:54:36

标签: javascript jquery html

我有contenteditable div,我需要为这个元素添加maxlength限制。它可以通过控制键盘事件简单地完成,但如果用户通过ctrl + v粘贴大量文本,我需要减少用户输入。此外,我必须非常小心,因为它可以是HTML。所以不能只使用子串。有什么想法怎么做?任何帮助都会挽救我的生命。

1 个答案:

答案 0 :(得分:1)

停止在div中粘贴需要控制输入事件。我不记得谁在这里永远帮助我,但我们在几页上使用这个代码。

const limit = 200;
rem = limit - $('#editor').text().length;
$("#counter").append("You have <strong>" + rem + "</strong> chars left.");
$("#editor").on('input', function () {
    var char = $('#editor').text().length;
    rem = limit - char;
    $("#counter").html("You have <strong>" + rem + "</strong> chars left.");
    console.log(char)
    console.log(rem);
    if (char >= 100) {
        $("#counter").css("color", "#ff7777");
    }
    else
        $("#counter").css("color", "#111111");
    if(char>200)
    {
        //add your code to do what you want about too much text...
    }
});

我完全从这里的某个人身上偷走了这个。但是我找不到这个帖子..所以,谢谢你,向你们中的一个人致敬。

修改的 好的,它来自this answer的类似帖子。