2013-03-21 77 views
2

當TinyMCE彈出時,我遇到了TinyMCE的問題。看看我對這個問題的解釋。JavaScript內彈出的TinyMCE

此代碼是在我的JSON彈出

<!-- TinyMCE --> 
<script type="text/javascript" src="../../Scripts/tiny_mce/tiny_mce.js"></script> 
<script type="text/javascript"> 
    tinyMCE.init({ 
     mode: "textareas", 
     theme: "simple" 
    }); 
</script> 
<!-- Gets replaced with TinyMCE, remember HTML in a textarea should be encoded --> 
<textarea id="elm1" name="elm1" rows="8" cols="80" style="width: 80%"> 
     Pełny opis... 
    </textarea> 
<br /> 

當彈出顯示您可以第一時間看到這個編輯器

enter image description here

當彈出窗口顯示第二次,你可以看到這個編輯

enter image description here

在我看來,問題是在這裏(只有一次正在這個JS)

<script type="text/javascript"> 
     tinyMCE.init({ 
      mode: "textareas", 
      theme: "simple" 
     }); 
    </script> 

回答

2

在你看到的textarea HTML元素的第二種情況。這可能是因爲您在關閉第一個彈出窗口時沒有正確關閉tinymce。 幕後發生的事情是html結構已經消失,但tinymce仍然獲得編輯器實例註冊,並且當您重新打開彈出窗口時,不會打開具有相同ID的新窗口。這裏的解決方案是在關閉彈出窗口時關閉tinymce。

要關閉一個編輯器實例使用:

tinymce.execCommand('mceRemoveControl',true,'your_editor_id'); 

要重新初始化使用

tinymce.execCommand('mceAddControl',true,'your_editor_id'); 

TinyMCE的需要作爲編輯ID源HTML元素(您文本域)的ID。如果沒有「內容」是默認的。