2017-06-26 17 views
1

インラインモードのCKEditorは、初期化時に文書のソース内のdivに文書のソースの<br>を追加します。 CKEditorでソースをチェックすると、それは完全に空になっています。私はdivやそれが編集している要素を崩壊させないようにしていると思いますが、私は空のdivをCSSで対象にしてプレースホルダを表示しているので問題になります。インラインCKEditorは、起動時に空のdivに<br>を追加します。

これを無効にする方法についてはどこからでも調べていますが、何年も前にFireFoxにいくつかの問題が見られましたが、それは無関係です。あなたが開発者ツールで見てみると、文書のソースがどのように見える

<div id="editarea" placeholder="Title"></div> 
CKEDITOR.inline('editarea, {}); 

<style> 
    div:empty:after { 
    content: attr(placeholder); 
    } 
</style> 

:コンフィグに以下を追加する

<div id="editarea" placeholder="Title"> 
    <br> 
</div> 

何もしていないようです:

config.fillEmptyBlocks = false; 
+0

は実際にjQueryを使用して、そこにこの動作を回避するためにCKEditorバージョンの設定はありませんが、我々はとinstanceReady.ckeditorイベントに<br>を削除することができます//docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html#.fillEmptyBlocks – Nope

+0

@Fran、答えを更新しました。劇化も削除しました:) FillEmptyBlocksは機能しません – Bastiaan

答えて

0

その<br>は "フィラー"であり、常に入力(エディタの初期化)に配置されますを関数createBogusAndFillerRulesで空のブロック要素に変換して要素に高さを与え、ユーザーがそれをクリックして編集することができます。それは巨大な問題が発生することはありませんものの、多分これは►HTTP役立ちます

if($(this).html().trim() === '<br>'){ 
    $(this).html(''); 
} 
関連する問題