Tôi có ứng dụng js không bao giờ tải lại trang, vì vậy khi điều hướng, tôi cần xóa hoàn toàn các điều khiển TinyMCE và sau đó tôi muốn khởi tạo lại khi điều hướng đến khu vực cần đến. Tôi đã thử câu trả lời được chấp nhận cho câu hỏi này, nhưng dường như không làm gì cả.Xóa điều khiển TinyMCE và thêm lại
How do i remove tinyMCE and then re-add it?
tinymce.EditorManager.execCommand('mceRemoveControl',true, editor_id);
và implimentation cụ thể của tôi:
//if I throw an alert here, it does get called, so I know it's not null
if (tinyMCE.getInstanceById("main-text"))
tinyMCE.EditorManager.execCommand('mceRemoveControl', true, "main-text");
Tôi cũng đã cố gắng
tinyMCE.remove(tinyMCE.getInstanceById("main-text"));
// AND
tinyMCE.remove("main-text");
Tôi biết rằng tuyên bố đó được thực thi khi tôi đặt một cảnh báo trong điều kiện. .. Tôi biết đó là ID chính xác-- Có thứ gì khác được chôn trong API tha không Tôi đang mất tích? Đây không phải là phiên bản jQuery. Trình chỉnh sửa vẫn tồn tại sau khi xóa nỗ lực và thậm chí tôi còn nhận được một ID mới có cùng ID nếu tôi khởi động lại bằng cách điều hướng trở lại trạng thái với biểu mẫu.
EDIT: giải pháp bên dưới không hoạt động trong phiên bản hiện tại 3.5b3, chỉ trong 3.4.9. Có lỗi trong đó 't is undefined'
Chỉ trong trường hợp, đây là phần có liên quan của DOM sau init.
<textarea id="main-text" style="display: none;" aria-hidden="true"></textarea>
<span id="main-text_parent" class="mceEditor defaultSkin" role="application" aria-labelledby="main-text_voice" style="display: inherit;">
<span id="main-text_voice" class="mceVoiceLabel" style="display:none;">Rich Text Area</span>
<table id="main-text_tbl" class="mceLayout" cellspacing="0" cellpadding="0" role="presentation" style="width: 100%; height: 400px;">
<tbody>
<tr class="mceFirst" role="presentation">
<td class="mceToolbar mceLeft mceFirst mceLast" role="presentation">
<div id="main-text_toolbargroup" aria-labelledby="main-text_toolbargroup_voice" role="group" tabindex="-1">
<span role="application">
</div>
<a onfocus="tinyMCE.getInstanceById('main-text').focus();" title="Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X" accesskey="z" href="#"></a>
</td>
</tr>
<tr>
<tr class="mceLast">
</tbody>
</table>
</span>
đâu là tài liệu hướng dẫn cho những gì các lệnh chức năng execCommand sẽ mất? Hướng dẫn chỉ nói tham số đầu tiên là "lệnh để thực hiện" và không có tham chiếu trong hướng dẫn sử dụng "mceRemoveControl" – Andy
http://www.tinymce.com/wiki.php/API3:method.tinymce.execCommand và cuộc hội đàm này một chút về mceRemoveControl: http://www.tinymce.com/wiki.php/TinyMCE3x:Command_identifiers – Patricia