如何在TinyMCE中放置一个不可编辑的标签或Div,以便它可以滚动文本?

时间:2013-10-15 17:44:38

标签: javascript jquery html css tinymce

我为TinyMCE编辑器的标题创建了一个标签。我希望这个标签是不可移动的,不可编辑的并且保留在textarea内部的顶部,以便当它出现时它与滚动条一起流动。换句话说,当textarea变满并且有人正在写作时,标签最终会消失,但如果有人要向后滚动,他们就可以看到它。

换句话说,这就是我想要的:

tinyMCE

我尝试了一些事情:

  1. 将标签放在textarea的顶部(和外部):滚动条在出现时不包含标签。

  2. 与#1相同,但从textarea中删除滚动条,让textarea在变满时生长并在外部div上显示滚动条: javascript是非常丑陋,在不同的浏览器中表现不同。在键入时看到textarea的底部会遇到问题。

  3. 我尝试将div直接插入textarea:即使你使div不可用,用户仍然可以通过退回几次来删除整个div。您可以创建javascript以检查它是否仍然存在并将其放回去,但是将光标放回其原始位置会遇到麻烦。你也可以通过填充和定位来做一些奇怪的事情。

  4. 放置在textarea外部,但将其放置在textarea填充内:当textarea变满时以及当您想向下滚动时(不应该保留),标题仍然存在。有时div高度可能会变大,这意味着你还必须重新调整填充。

  5. 我觉得我在这里尝试了一切,但是不可能做我想做的事。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

诀窍是让div可以滚动。按照设计,工具栏会消失,直到您专注于文本。我会让你弄明白的。

<html>
<head><!-- CDN hosted by Cachefly -->
<script src="http://tinymce.cachefly.net/4.0/tinymce.min.js"></script>
<script>
  tinymce.init({selector:'div#editme', theme: 'modern', fixed_toolbar_container: 'div#tbar', inline: true});
</script>
</head>
<body>
<div id="mcewrapper">
  <div id="tbar" style="height: 60px; width: 100px;"></div>
  <div id="" style="overflow: scroll; height: 400px;">
  <h2>title</h2>
  <div id="editme" style="border:0; overflow: hidden; background: none; height: 500px;">Your content here.</div>
  </div>
</div>
</body>
</html>