我正在将 nicEdit 用于文本区域,我想在其中将输入的文本限制为 1000。有一个计数器会在输入文本时更新,在 0 之后它将不允许用户输入。在复制粘贴的一种情况下,我遇到了问题。
如果已经输入了 990 个字符并且用户按下 ctrl+A,ctrl+c 和 ctrl+v。它不限制用户(当然因为计数器是 990)但是现在输入的文本是 990*2。所以剩下的唯一方法就是我计数器值用尽时需要修整。这样做我可以使用
nicEditors.findEditor('summary').getContent(); 长度或
jQuery('.nicEdit-main').text().length()
截断超过 1000 的输入。但前一种解决方案不会产生结果,因为 nicEdit 在文本区域中附加了很多 div,后一种解决方案不会考虑用户按下 ENTER。请告诉我如何实现这一点。
$('.nicEdit-main').bind("propertychange input textInput ", function(e){
var left=1000;
if(jQuery('.nicEdit-main').text()!='')
{
var summarytemp = nicEditors.findEditor( 'summary' ).getContent();
var countOfEnter = summarytemp.match(/(<br\ ?\/?>)+/g);
if(null!=countOfEnter)
countOfEnter = countOfEnter.length;
left = max - jQuery('.nicEdit-main').text().length-countOfEnter;
if (left < 0) {
left = 0;
e.preventDefault();
}
}
$("input[name='countdown']").val(left);
});