2012-04-30 15 views
7

Tôi đang sử dụng codemirror với textareas trong giao diện tab, khi tôi không ở trong tab chứa codemirror và sau đó đi đến nó, tôi nhận được khoảng trắng trống không có số dòng hoặc con trỏ, khi tôi làm mới trang nó hoạt động , Tôi biết đó là vì nội dung của tab bị ẩn bằng cách sử dụng display: none; để tôi có thể khắc phục sự cố này như thế nào?Làm thế nào để làm mới codemirror khi đó là div cha mẹ phong cách trở thành khối hiển thị?

đây là mã của tôi, (tôi cũng đang sử dụng 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(); 

cảm ơn trước.

Trả lời

11

Đảm bảo bạn cũng gọi số refresh khi chuyển sang tab chứa trình chỉnh sửa.

5

Nơi mã này dưới đây

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

nó làm việc cho tôi, hãy chắc chắn bạn đặt nó ở phía trên cùng của trang. hy vọng sẽ hữu ích.