ユーザが空白の編集エリアに入ったときに自動的に作成されるP elements
に適用されるデフォルトスタイルを設定しようとしています。私は何時間も答えを探していましたが、うまく動作するものは見つかりませんでした。要件は以下のとおりです。ユーザインタラクションなしのデフォルトの段落スタイルの設定
- スタイルをインラインにする必要があり、何のスタイルシート
- ユーザーの操作なしには、いかなる形式/スタイルプラグインはクリックしないように
ユーザ編集エリアのクリックとは、入力を開始し、スタイルを適用して自動的に表示したい。確かにこれを達成する方法がありますか?
私が得ている最も近いが、このように、htmlFilter
を使用することです:
p_rule = {
elements : {
p : function(element) {
if (element.attributes.style === undefined) {
element.attributes.style = "color: #0000ff;";
}
}
}
};
ev.editor.dataProcessor.htmlFilter.addRules(p_rule);
しかし、新しいスタイルが自動的に表示されません。
ユーザーがソース編集モードに入り、WYSIWYG
に戻ると表示されますが、自動的にしたいと思います。
私は、フィルタ機能でupdateElement()
を使用してみましたが、それは動作しませんし、無限再帰を作成します。
p_rule = {
elements : {
p : function(element) {
if (element.attributes.style === undefined) {
element.attributes.style = "color: #0000ff;";
CKEDITOR.instances['editor1'].updateElement();
}
}
}
};
ev.editor.dataProcessor.htmlFilter.addRules(p_rule);
(私はupdateElement()
はフィルタをトリガ推測)
私はイベントからsetData(getData())
を使用している場合、私は妙例えば、フィルタが適用された変更で更新するtextarea
を取得することができます:
CKEDITOR.instances['editor1'].on('blur', function() {
CKEDITOR.instances['editor1'].setData(CKEDITOR.instances['editor1'].getData());
});
しかし、これもユーザーとのやりとりが必要です。 "change"イベントを使用すると再帰が作成されます。
私はCKEditorで新しく、明らかに、現在テキストエリアに表示されているものとの関係でフィルタがどのように動作するかについて何か不足しています。
任意CKEditor
グルーがありますか?助けて!
おかげ