いくつかのテキストエリアを含む、動的に作成された HTML を含むライトボックスを開く JavaScript があります。私はそれから...
tinyMCE.init({mode: "none", theme: "simple"});
tinymce.execCommand("mceAddControl", true, id);
...ここで、idは特定の 1 つのテキストエリアの ID です。そのテキストエリアが消えるため(突然display:noneがインラインスタイルとして表示されますか?)、 IDが正しいことはわかっていますが、そのインラインスタイルを削除すると、テキストエリアは変更されずに再び表示されますが、tinymceエディターは接続されていません。そのインライン スタイルが適用されているのはなぜですか? また、エディタが添付されていないのはなぜですか?
タリアマの編集
編集 2 - コードにはバグが含まれていましたが、修正後も機能しません...
OK、これは問題を示す例です。
<html>
<head>
<script src="jquery.js" type="text/javascript"></script>
<script src="tiny_mce.js" type="text/javascript"></script>
</head>
<body>
<ul id="list">
</ul>
</body>
<template id="thingyTemplate">
<li>
<label>Email rich text body:</label>
<textarea rows="8" cols="50" path="bodyRichText" class="wysiwyg"></textarea>
</li>
</template>
<script>
var newTemplate = $("#thingyTemplate > *").clone();
$(newTemplate).find("textarea").attr("id", "myTextArea");
$("#list").append(newTemplate);
tinyMCE.init({ mode: "none", theme: "simple" });
tinymce.execCommand("mceAddControl", false, "myTextArea");
</script>
</html>
ページが読み込まれると、テンプレート要素が表示されますが、リスト内の clone() されたコピーは消えます。ただし、 mceAddControl行を削除すると、テンプレートとそのクローンが表示されます。