1

ページに CKEditor があります。ユーザーがエディターをドラッグして高さを変更するたびに、新しい高さを知りたいので保存します。

を使用すると、構成された高さCKEDITOR.config.heightを取得できますが、現在の高さが必要です。

jQuery から height() も使用してみましたが、CSS で設定された高さしか得られません。高さが設定されていない場合は、「43」になります。

どちらかにしたい

  • CKEditor テキストエリアの現在の高さを取得します (マイナス メニューですが、自分でその計算を行うことができます)
  • 高さが変わるたびにCKEditorに何かをトリガーさせる

その理由は、正しく表示される iframe のサイズを変更するために、この情報をコンテンツと共に保存したいからです。

4

3 に答える 3

4

「クラシック」CKEditor (ツールバー付き) 全体の高さを探す場合は、次を試してください。

editor.container.$.clientHeight;

ここでeditor、CKEditor インスタンスを指します。

于 2014-12-16T15:31:45.270 に答える
4
  1. 現在の高さを取得するには、次を使用できます。

    editor.ui.space( 'contents' ).getStyle( 'height' ); // e.g. 200px
    

    これは、編集可能な iframe が配置される要素である、contents という名前の UI スペースを見つけます。editor#resize()メソッドでエディターの高さを設定すると、このサイズはコンテンツの UI スペースに直接設定されます。

  2. editor#resizeイベントをリッスンして、エディタのサイズが変更されたときにコードを実行できます。

    editor.on( 'resize', function() {
        console.log( 'resized...' );
    } );
    

PS。この回答は CKEditor 4.0 で有効です。CKEditor 3.6.x では動作しない可能性があります

于 2012-12-30T13:40:14.797 に答える