繁体   English   中英

在编辑器中粘贴文本时如何仅显示几个字符?

[英]How to only show few characters when pasting text in editor?

尝试粘贴字符,如果超过50个字符, 仅显示前50个字符 谁能告诉我我所缺少的吗?

这是我的代码: LIVE DEMO

CKEDITOR.instances.foo.on('paste',function(event){

    alert('paste');
    var deleteKey = 46;
    var backspaceKey = 8;
    var keyCode = event.data.keyCode;
    if (keyCode === deleteKey || keyCode === backspaceKey)
        return true;
    else
    {
        var textLimit = 50;
        var str = CKEDITOR.instances.foo.getData();
        if (str.length >= textLimit)
        // Need to add code here to only show the first 50 characters
            return false;
    }
});

您可以使用CKEditorWORDCOUNT插件,并且可以找到示例

https://ckeditor.com/cke4/addon/wordcount

the document show about paste event.

https://docs.ckeditor.com/ckeditor4/latest/guide/dev_clipboard.html#the-paste-event

you could use event.data.dataValue to get the paste content.
code is here:

http://jsfiddle.net/2vzkLb8L/2/

CKEDITOR.instances.foo.on('paste',function(event){
    var pasteContent = event.data.dataValue;
    var str = CKEDITOR.instances.foo.getData();
    var textLimit = 50;
    var newcontent = pasteContent + str; 
    CKEDITOR.instances.foo.setData(newcontent.slice(0,50))
});  

您可以使用此event.data.dataValue从CKEditor获取和设置数据

CKEDITOR.instances.foo.on('paste',function(event){
  var textLimit = 50;
  var str = $(event.data.dataValue).text();

   if (str.length >= textLimit) {
    event.data.dataValue = str.substr(0 , textLimit);
  } 
});

http://jsfiddle.net/2ftroyuv/7/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM