javascript - 在ajax调用上重新加载tinymce.init函数

标签 javascript ruby-on-rails tinymce ruby-on-rails-2 tinymce-4

我使用 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/

相关文章:

javascript - 用 Promise 打破 for 循环

javascript - Threejs - 将纹理应用到平面总是呈现黑色,

ruby-on-rails - 如何在 Heroku 上使用 postgres 扩展?以及如何处理他们的迁移?

tinymce - TinyMCE 和 Plone5 中缺少带字幕的图像功能

javascript - 我可以在不使用编辑器的情况下使用 tinyMCE 清理算法吗?

javascript - 如何在 webpack 中填充 tinymce?

javascript - 获取动态文本以适应定义的框大小的麻烦

javascript - 替换整个文档中的字符 JQuery

javascript - Rails 页面 JS 在真实浏览器/手动测试中有效,但在 PhantomJS 和 Selenium 规范中无效

ruby-on-rails - 如何在 Ruby 中手动创建 JSON 结构?