さまざまな入力フィールドを持つフォームがあり、それらが変更された場合は背景色を変更したい
私は必要なことをする次のコードを使用します
$( document ).ready(function() {
$("textarea, input, select").change(function () {
$(this).css({ "background": "#D6FFD6" });
});
});
問題は私のフィールドの1つであるtinymceフィールドにあります
これは私のコードの影響を受けません
私がの要素を調べると TinyMCE
フィールド実際のデータは非表示のテキスト領域に保持され、表示されるテキストはiframeにあります
変更時に背景を変更する方法はありますか?
回答:
回答№1は2ボディの背景色を変更するには、次を使用できます。
tinymce.activeEditor.contentDocument.body.style.backgroundColor = "#f0f0f0";
アクティブなエディターをjQuery要素として取得するには、次を使用します。
$(tinymce.activeEditor)
編集:
textarea要素はエディターによって置き換えられるため(これは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" });
});