tinyMCE 更改事件正在工作但不是隐藏的文本区域

tinyMCE change event is working but not hidden textarea's

我已经使用以下代码(从 TypeScript 代码生成)为文本区域列表(大约 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');
    });

根据你上面的评论,看看这个 fiddle:

http://fiddle.tinymce.com/Cogaab

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

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

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