首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在summernote中限制文本区域的字数

问如何在summernote中限制文本区域的字数
EN

Stack Overflow用户
提问于 2016-03-04 21:00:38
回答 3查看 4.2K关注 0票数 3

我正在努力限制夏季笔记中允许的字数。

例如,我想限制最多50个单词。

你有什么想法吗?

代码语言:javascript
复制
$(document).ready(function() {
    $('#summernote').summernote({
        height: 20,
   });
});
EN

回答 3

Stack Overflow用户

发布于 2017-06-08 03:57:49

我想我会对这篇文章有所贡献,因为这帮助我达到了我想要的解决方案。似乎这个建议的答案还没有被接受。

我为maxLength创建了一个变量,下面是我如何配置summernote回调的。请注意,我使用的summernote版本的编辑区为.note-editable。下面的解决方案是typescript,我的目标是显示剩余字符数的span。

代码语言:javascript
复制
callbacks: {
onKeydown(e) {

  // The text method will ignore HTML tags and preserve non-breaking
  // space allowing for a true character count

  let content: string = $('.note-editable').text();

  // This checks if the character is alphanumeric (i.e. not a backspace or return key)

  let isCharacter: boolean = (/[a-zA-Z0-9-_ ]/.test(String.fromCharCode(e.keyCode)));

  // If the current content length is at max, preventDefault will disallow 
  // any more characters

  if (isCharacter) {
    if (content.length >= maxLength) {
      e.preventDefault();
    }
  }
},
onKeyup(e) {

  // After the result of checking the character and max length exceeded, 
  // take the resulting count and determine and display characters remaining

  let content: string = $('.note-editable').text();
  let charactersRemaining: number = maxLength - content.length;
  $('#SomeDivId span').text(charactersRemaining);
}
票数 2
EN

Stack Overflow用户

发布于 2020-08-17 00:06:46

代码语言:javascript
复制
var maxwords = 100;
 $(".summernote").summernote({
        height: '200px',
          callbacks: {
              
                onKeydown: function (e) {
                 var t = e.currentTarget.innerText;   
                 var words = t.split(" ");
                 if (words.length >= maxwords) {
                      //delete key
                  if (e.keyCode != 8)
                    e.preventDefault();
                    // add other keys ...
                  }
                },
                 onKeyup: function(e) {
                    var t = e.currentTarget.innerText;
                     var words = t.split(" ");
                   if (words.length >= maxwords) {
                      //delete key
                  if (e.keyCode != 8)
                    e.preventDefault();
                    // add other keys ...
                  }
                },
                onPaste: function(e) {
                var t = e.currentTarget.innerText;
                var bufferText = ((e.originalEvent || e).clipboardData || 
                                   window.clipboardData).getData('Text');
                e.preventDefault();
                var all = t + bufferText;
                var words = all.split(" ");
                var array = words.slice(0, maxwords)
                document.execCommand('insertText', false, array.join(" "));
               
             }
        }
    });
票数 0
EN

Stack Overflow用户

发布于 2016-03-19 21:04:32

单词与字符:我建议您决定字符的数量,而不是单词的数量,因为即使对于用户来说,这也是容易和一致的。

Summernote创建的contenteditable div如下:

​

有了这些知识并使用下面的答案,您就可以获得一个可以限制字符数的解决方案:Limiting Number of Characters in a ContentEditable div

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35796758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档