如何使用查询更改 tinymce 背景 onchange 的颜色

How can I change color of tinymce background onchange using query

我有一个包含各种输入字段的表单,如果它们发生变化,我想更改背景颜色

我使用下面的代码来满足我的需要

$( document ).ready(function() {
    $('textarea, input, select').change(function () {
        $(this).css({ 'background': '#D6FFD6' });
    });
});

问题出在我的一个字段上,它是一个 tinymce 字段

这不受我的代码影响

如果我检查 TinyMCE 字段的元素,实际数据保存在隐藏的文本区域中,显示的文本在 iframe 中

有什么方法可以改变背景吗?如果可以,怎么办

要更改正文背景颜色,您可以使用:

tinymce.activeEditor.contentDocument.body.style.backgroundColor = '#f0f0f0';

要将活动编辑器作为 jQuery 元素,只需使用:

$(tinymce.activeEditor)

编辑:

你必须单独处理事件,因为文本区域元素被编辑器替换了(这适用于 v4 版本):

$('textarea, input, select').change(function () {
    $(this).css({ 'background': '#D6FFD6' });
});

tinymce.activeEditor.on('change', function(){
    this.contentDocument.body.style.backgroundColor = '#D6FFD6';
});

最后编辑:

要使其正常工作,您必须在加载 window 后注册事件,如下所示:

// this is for v3
$(window).load(function() { 
    tinyMCE.activeEditor.onChange.add(function(){ this.contentDocument.body.style.backgroundColor = '#D6FFD6' }); 
});