我使用 rails 2
,对 textarea
字段使用 tinymce 4
编辑器。
new.html
<script type="text/javascript" src="/tinymce/tinymce.min.js"></script>
<%= render "form" %>
<% form_for ... %>
<%= c.text_area :description %>
<%= submit_tag %>
<% end %>
我需要刷新下面的脚本
_form.html
<div id ="refresh_editor">
<script type="text/javascript">
tinymce.init({
selector: "textarea"
...
..
});
</div>
.rjs 文件
page.replace_html 'refresh_editor', :partial => 'form'
我的问题,
1)如何刷新脚本?
2)我是否还需要刷新文本区域类型?这将使编辑器中的内容为空。
我为什么要这么做? fiddle会给出一个想法,当用户第二次检查纸张边距下拉列表时,我会丢失值。
最佳答案
嗯...如果我理解正确的话请告诉我: 您需要重新初始化tinymce脚本吗?
如果您需要这样做,也许您可以在tinymce文档中找到是否有重新初始化或重置脚本的方法。
但是我在tinymce对象内部找到了方法tinymce.remove()
,您可以使用它来删除并重新初始化脚本(我尝试使用它来重新初始化,但它很糟糕:D)。
因此,只需创建一个重新调用 tinymce.init()
的函数(或者在我的示例中是 tinymce 的 e 方法)即可。设置宽度。
如果您只需要清空我在示例中创建的文本,则可以使用名为 clean
的tinymce 方法。删除所有内容并将其替换为 <p></p>
.
参见示例: http://jsfiddle.net/4ndS7/3/
注意:我创建了 2 <a>
触发该功能的标签:clean()
和reset()
.
这可能不是最好的方法...但是...只是我认为可以解决您的问题。
关于javascript - 在ajax调用上重新加载tinymce.init函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20900414/