我正在努力限制夏季笔记中允许的字数。
例如,我想限制最多50个单词。
你有什么想法吗?
$(document).ready(function() {
$('#summernote').summernote({
height: 20,
});
});发布于 2017-06-08 03:57:49
我想我会对这篇文章有所贡献,因为这帮助我达到了我想要的解决方案。似乎这个建议的答案还没有被接受。
我为maxLength创建了一个变量,下面是我如何配置summernote回调的。请注意,我使用的summernote版本的编辑区为.note-editable。下面的解决方案是typescript,我的目标是显示剩余字符数的span。
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);
}发布于 2020-08-17 00:06:46
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(" "));
}
}
});发布于 2016-03-19 21:04:32
单词与字符:我建议您决定字符的数量,而不是单词的数量,因为即使对于用户来说,这也是容易和一致的。
Summernote创建的contenteditable div如下:

有了这些知识并使用下面的答案,您就可以获得一个可以限制字符数的解决方案:Limiting Number of Characters in a ContentEditable div
https://stackoverflow.com/questions/35796758
复制相似问题