Re: [討論] Ajax載入頁面裡的tinymce
自問自答:
網路上有人說要在動態產生textarea(不論是用js產生或ajax load)前
先執行這一個來把已經產生的Coltrol(估且用這說法論之)移除
tinyMCE.execCommand('mceRemoveControl', true,'textarea_id');
然後在產生textarea DOM之後再執行此指令,將其產生tinyMCE Control
tinyMCE.execCommand("mceAddControl",false,'textarea_id');
(我原本是由ajax載入一串包含js碼的html,在html裡的js加上上列的指令
不過這樣無法執行)
由於考量到textarea如果一多就要執行一堆
我用了以下的方法
// 初始
var tinyMCE_instances = new Object();
// 動態執行的function
function ajax_load(){
$.each(tinyMCE_instances,function( key, value ) {
tinyMCE.execCommand('mceRemoveControl', true,value);
});
$.post("ajax.php",function(data){
$("#content").html(data);
$("#content textarea.tinymce").each(function(){
if (!tinyMCE_instances[this.id])
tinyMCE_instances[this.id] = this.id;
tinyMCE.execCommand("mceAddControl",false, this.id);
});
});
}
實在是有點麻煩到 =.=
※ 引述《JYHuang (夏天到了,冷不起來了說)》之銘言:
: 原本的做法是頁面內容固定
: 由ajax取得json後一一填入各個input和textarea
: 所以用jquery.tinymce去把textarea DOM轉換成編輯器沒有問題
: 因為DOM一直存在著,載入頁面時就被tinymce初始化了。
: 後來改成整個區塊的HTML是由ajax載入
: 第一次呼叫時還可以work
: 再一次載入時,DOM消失又被載入
: 此時tinymce就發生錯誤
: 無法把textarea DOM初始化成編輯器了。
: 不知道有沒有人也是用此作法然後解決過的?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.74.246.137
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章