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