2011-01-05 20 views
5

Khi bạn khởi tạo trình soạn thảo tinyMCE, tôi đã nhận thấy hai cách khác nhau để được gọi khi trình chỉnh sửa được tạo.tinyMCE thiết lập gọi lại so với onAddEditor

Một cách là sử dụng gọi lại thiết lập mà là một phần của tinyMCE.init:

tinyMCE.init({ 
    ... 
    setup : function(ed) { 
     // do things with editor ed 
    } 
}); 

Một cách khác là để treo lên để các onAddEditor sự kiện:

tinyMCE.onAddEditor.add(function(mgr,ed) { 
    // do things with editor ed 
}); 

sự khác biệt giữa việc sử dụng đó là những gì hai phương pháp?

Trình chỉnh sửa có ở trạng thái khác trong trạng thái này so với trạng thái kia không? Ví dụ, là những thứ chưa được tải nếu tôi cố gắng truy cập các thuộc tính trên đối tượng trình soạn thảo.

Lý do để sử dụng cái này với cái kia là gì?

Trả lời

4

Sự khác biệt ở đây là tinyMCE.onAddEditor thêm mã để được thực thi onthe AddEditor sự kiện và cháy khi một trường hợp trình soạn thảo mới được bổ sung vào bộ sưu tập TinyMCE trong khi thiết lập setup cho phép bạn thêm sự kiện vào trình soạn thảo. Nó được thực hiện trước khi các trường hợp trình soạn thảo được hiển thị.

Một khác biệt khác là setup sẽ được đặt trong cuộc gọi khởi tạo tin nhắn (cài đặt cấu hình) trong khi onAddEditor thường được gọi bên trong plugin tinymce (nhưng bạn cũng có thể đặt trong hàm thiết lập).

+0

Tôi nhận được sự khác biệt về nơi bạn có thể thiết lập chúng. Tôi đang cố gắng để có được tại sao bạn sẽ sử dụng một trong những khác? Có những hành động bạn có thể thực hiện trên trình chỉnh sửa chỉ hoạt động trong một trong các cuộc gọi lại đó không? –

+0

tôi sẽ sử dụng các thiết lập gọi lại nếu tôi không muốn tạo một plugin riêng (trong trường hợp của tôi tôi sử dụng chế độ: "textareas", vì vậy tôi không sử dụng addControl để khởi tạo chúng) – Thariama

+0

Theo như messing với kiểm tra các biên tập viên và messing với dom của nó, sẽ sử dụng thiết lập gây ra một vấn đề vì nó được gọi là trước đó? –

3

onAddEditor.add cho cảnh báo trong TinyMCE mới nhất 4:

Deprecated TinyMCE API call: <target>.onAddEditor.add(..) 

.on(nameofevent, function(){...}) là cách thích hợp để làm điều này trong MCE4 nếu bạn không có các plugin tương thích ngược.

Các vấn đề liên quan