【问题标题】:tinyMCE change event is working but not hidden textarea'stinyMCE 更改事件正在工作,但不是隐藏的 textarea
【发布时间】:2018-03-29 16:32:57
【问题描述】:

我已经使用以下代码(从 TypeScript 代码生成)为 textarea 列表(大约 12 个)启动了 tinyMCE。

tinymce.init({
        selector: this.selector,
        setup: function (editor) {
            editor.on('change blur', function () {
                editor.save();
                tinymce.triggerSave();
                console.info('tinyMCE change event fired.');
            });
        },
        branding: this.branding,
        menubar: this.menubarFlag,
        browser_spellcheck: this.browser_spellcheck,
        fontsize_formats: this.fontsize_formats,
        block_formats: this.block_formats,
        toolbar1: this.toolbar1,
        height: this.height,
        plugins: this.plugins
    });

我尝试了两个 editor.save();和 tinymce.triggerSave();在 tinyMCE 更改事件上。但是,尽管内容已更新到 textarea,但隐藏的 textarea 更改事件仍然没有触发。

我需要 textarea 的事件通过添加 name 属性来实际向表单添加一个元素。

    $(divObj).find('.segment-input').change(function () {
         $(divObj).find('input[type="hidden"]').attr('name', $(divObj).find('input[type="hidden"]').attr('name-nochange'));
         $(divObj).find('input[type="hidden"]').removeAttr('name-nochange');
    });

【问题讨论】:

  • 你能创建一个最小的、完整的、可验证的例子来展示你所构建的吗?这将帮助人们了解正在运行的代码和时间。 stackoverflow.com/help/mcve
  • 感谢@michael-fromi,问题已更新。我正在使用文本区域更改事件通过将 name-nochange 属性重命名为 name 属性来实际将元素添加到表单中。这不能在 tinyMCE 更改事件上完成,因为它初始化了大约 12 个文本区域。
  • 当您在 TinyMCE 中进行更改时,您不会与底层 textarea 交互,因此您不会触发任何其原生事件。当编辑器的事件被触发时,您可以尝试以编程方式执行此操作。有什么原因不能使用编辑器事件与页面的 DOM 进行交互?
  • @michael-fromi,正如我之前提到的,tinyMCE 在同一页面上为近 12 个实例初始化。是否可以访问用户当前正在处理的特定文本区域?

标签: tinymce textarea


【解决方案1】:

根据你上面的 cmets 看看这个小提琴:

http://fiddle.tinymce.com/Cogaab

editor.on() 函数可以访问触发它的编辑器(小提琴中的e)。您可以获得(除其他外)基础文本区域的目标 ID。在我提供的小提琴中,我为initchangeblur 上的每个编辑器将其记录到控制台。

一旦您知道 ID,您就可以使用 JavaScript 找到该 ID,并对该原生元素执行您需要的操作。

该编辑器 (e) 对象中有各种有用的数据 - 值得记录 e 并查看其他数据,因为其他数据也可能对您的方案有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 2019-11-11
    • 1970-01-01
    相关资源
    最近更新 更多