我正在使用nicEdit作为textarea,其中我想限制输入的文本达到1000.有一个计数器将在输入文本时更新,在0之后它将不允许用户输入。我在一个案例中面临问题糊。
如果已经输入990个字符并且用户按下ctrl + A,ctrl + c和ctrl + v。它不限制用户(当然因为计数器是990)但现在输入的文字是990 * 2.只有这样左边是我需要在计数器值耗尽时修剪。 这样做我可以使用
nicEditors.findEditor('summary')。getContent(); length或
的jQuery(”。nicEdit-主)。文本()。长度()
截断输入超过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);
});
答案 0 :(得分:0)
如果您的输入/ textarea的长度超过允许值,请将其剪切为1000个字符:
if (left < 0) {
jQuery('.nicEdit-main').text(jQuery('.nicEdit-main').text().substr(0,1000))
left = 0;
e.preventDefault();
}