2012-04-30 24 views
7

我在標籤界面中使用帶textareas的codemirror,當我不在包含codemirror的選項卡中,然後轉到它時,我得到空白空間而沒有行號或光標,當我刷新它工作的頁面時,我知道這是因爲標籤內容使用display: none;隱藏,所以我該如何解決這個問題?如何刷新它的父div風格的codemirror成爲顯示塊?

這裏是我的代碼,(我也使用jQuery):

var editor = CodeMirror.fromTextArea(document.getElementById($this.attr('id')), { 
     lineNumbers: true, 
     mode: text/html, 
     enterMode: "keep", 
     tabMode: "shift" 
    }); 

    $(editor.getScrollerElement()).width(300); 
    width = $(editor.getScrollerElement()).parent().width(); 
    $(editor.getScrollerElement()).width(width); 
    editor.refresh(); 

在此先感謝。

回答

11

確保您在切換到包含編輯器的選項卡時也請致電refresh

5

將此代碼如下

// Refresh CodeMirror 
$('.CodeMirror').each(function(i, el){ 
    el.CodeMirror.refresh(); 
}); 

它的工作對我來說,要確保你把它放在你的頁面的頂部。 希望有所幫助。