2015-01-22 17 views
6

Nếu có thể, làm cách nào để chúng tôi có thể thay đổi nội dung của ckeditor? Ví dụ, có một số văn bản đã được chèn vào nội dung của ckeditor aka textarea khi trang được mở. Sau đó tôi gõ một cái gì đó nhiều hơn hoặc xóa một số văn bản đó. Có sự kiện nào bị sa thải tôi có thể thay đổi biến khi văn bản được thay đổi không?Sự kiện cho nội dung ckeditor đã thay đổi

Tôi có điều này cho textareas thường xuyên:

$("input,textarea").on("input", function() { 
    booleanvar= true; 
}); 

Saw một giải pháp khả thi đâu đó rằng có này:

$('.ckeditor').ckeditorGet().on('key', function (e) { 
    //some code 
}); 

thử nó, nhưng đã không làm việc. Và vâng tôi biết textarea của ckeditor của tôi có "ckeditor" là lớp của nó nên đó không phải là lý do để nó không hoạt động.

Vì vậy, ví dụ như những ví dụ này tôi có thể sử dụng để truy cập một số sự kiện thay đổi văn bản của ckeditor?

+0

thể trùng lặp của [Làm thế nào để lắng nghe các sự kiện cơ bản trong ckeditor?] (Http://stackoverflow.com/questions/5721916/how-to-listen-to-basic-events-in-ckeditor) –

Trả lời

19

Có, rất tiện dụng change thậm chí bạn có thể nghe. Tài liệu ở đây: http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change

Sử dụng nó ví dụ như vậy (editor1 thay đổi để dụ soạn thảo của bạn):

CKEDITOR.instances.editor1.on('change', function() { 
    console.log("TEST"); 
}); 
+2

Điều đó có thể hoạt động, nhưng phương thức này chỉ được gọi khi tải trang (tại thời điểm đó ckeditor chưa được khởi tạo) và sau đó không được gọi nữa, điều đó có nghĩa vụ xảy ra không? Lưu ý rằng tôi đang thay thế textarea cho ckeditor bằng cách đơn giản đặt classarea's class = "ckeditor" –

+1

Ok đã được giải quyết, chỉ cần thêm 'CKEDITOR.replace ('editor1');' ngay trước 'CKEDITOR.instances.editor1 .on .... 'để nó đã được khởi tạo. Hoạt động tốt sau đó –

+0

@ MicaelFlorêncio Tuyệt vời mà bạn đã giải quyết nó! – Nenotlep

1

Đó là giúp đỡ tôi rất nhiều, cho onchange của ckeditor.

<textarea id="ckeditor_textarea " name="ckeditor_textarea ">Add Yore Data</textarea> 

<script type="text/javascript"> 
var editor = CKEDITOR.replace('ckeditor_textarea ', {}); 
// editor is object of your CKEDITOR 
editor.on('change',function(){ 
    console.log("test"); 
}); 
</script> 
Các vấn đề liên quan