2012-12-30 191 views
1

我有一個頁面上的CKEditor。每當用戶通過拖動編輯器改變高度,我想知道新的高度,所以我可以保存它。獲取ckeditor元素的高度

使用CKEDITOR.config.height我可以得到配置高度,但我想當前高度。

我也嘗試過使用jQuery的height(),但是這隻給了我通過CSS設置的高度 - 如果沒有設置高度,它會給我「43」。

我想無論是

  • 獲取CKEditor的textarea的當前高度(減去菜單,但我能做到這一點計算自己)每當高度變化
  • 有無CKEditor的觸發事

    原因是,我想將這些信息與內容一起保存,以便調整iframe的大小並將其正確顯示。

  • 回答

    4
    1. 爲了得到當前高度,你可以使用:命名內容

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

      此發現UI空間,這是在可編輯的iframe放置的元素。當您通過editor#resize()方法設置編輯器的高度時,此大小直接在內容UI空間上設置。

    2. 你可以聽上editor#resize事件執行一些代碼時,編輯器的尺寸已經改變:

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

    PS。這個答案對CKEditor 4.0有效。它可能不是CKEditor的3.6.x的

    4

    工作在尋找整個「經典」的CKEditor(含工具欄)的高度的情況下嘗試:

    editor.container.$.clientHeight; 
    

    其中editor指向CKEditor的實例。