我正在使用
summernotes组件,我想要做的是我想阻止用户添加字符,如果s(他)超过2000 Chars但我无法弄清楚如何停止输入事件.
我正在做的是如下:
$(".note-editable").each(function(){
$(this).on("keyup",function(){
var cc = $(this).text().length;
var arr = $(this).next().attr("class").split('_');
var q = "q"+arr[0];
var maxChar = arr[2];
var textarea = $('*[name^="'+q+'"]');
var diffChar = parseInt(maxChar - cc);
if(diffChar >= 0)
{
$(this).next().text(diffChar + " Remaining out of " + maxChar);
}
else
{
$(this).next().text("0 Remaining out of " + maxChar);
//$(textarea).prop('disabled',true);
$(this).text($(this).text().slice(0,diffChar));
}
});
});
任何想法如何做到这一点,我不想禁用光标或破坏summernote ..我想让用户觉得他仍然可以编辑,但如果文本超过2000个字符,它将不会输入任何内容.
谢谢!!
解决方法
从他们的官方文件中查看
this link.
基本上,您需要做的是:
您可以通过API禁用编辑器.
$('#summernote').summernote('disable');
如果要再次启用编辑器,请使用enable调用API.
$('#summernote').summernote('enable');
现在,您可以做的是,在您自己的代码逻辑/算法中使用这些API调用来获得所需的效果.
我知道这是一个老问题,但希望这会有所帮助.