首页 文章

WYSIWYG可以限制文本/高度的地方

提问于
浏览
0

好的,所以我尝试了tinyMCE .

如果没有运气和大量关于如何限制编辑内容的研究,我正在寻找其他选择 .

这些是WYSIWYG的需求:

  • 能够拥有这些功能/按钮:粗体,斜体,下划线,公牛列表,表格控件

  • 能够限制输入 . 如果我将编辑器设置为300宽x 500高度,并且您键入的高度超过高度,则不应该应用滚动条,您应该无法写更多 .

  • 能够在一个页面中设置多个编辑器

哪种WYSIWYG编辑器能满足我的需求?

2 回答

  • 0

    一个简单的方法是使用div元素并将编辑器的内容放在div中 . div应该设置一个宽度(使用css) .

    <div class="calculation_preview"></div>
    

    而css应该是这样的:

    div.calculation_preview {
       width: 200px;
       visibility: hidden;
       position: absolute;
       top: 0px;
       left:0px;
    }
    

    在每个键击之后,您可以测量div的高度(使用div上的offsetHeight函数) . 如果它太高,请删除用户输入的最后一个字符 .

    要恢复以前的内容,您可以声明一个javascript变量,例如:

    var savedContent = "";
    

    如果您的编辑器中有一些初始内容,那么您应该使用该内容初始化变量 . 对于每个击键,您可以执行以下操作:

    // Get current editor content:
    var content = tinyMCE.activeEditor.getContent({format : 'raw'});
    // Measure the new height of the content:
    var measurer = document.getElementById("calculation_preview");
    measurer.innerHTML = content;
    if(measurer.offsetHeight > 100) {
       // Content is too big.. restore previous:
       tinyMCE.activeEditor.setContent(savedContent, {format : 'raw'});
    } else {
       // Content height is ok .. save to variable:
       savedContent = content;
    }
    
  • 0

    TinyMCE或ck编辑器应该满足您的需求 .

    关于滚动问题,尝试使用jquery和keypress事件来测试持有编辑器的div中内容的长度 . 您还可以将其与屏幕上的字符计数器结合使用,以动态显示用户剩余的字符数 .

    charCount = $(this).val().length;
    

相关问题