Javascript 动态创建编辑器-浏览器是否需要退出该功能才能进行更改?

Javascript 动态创建编辑器-浏览器是否需要退出该功能才能进行更改?,javascript,tinymce,Javascript,Tinymce,我正试图动态创建和销毁TinyMCE编辑器,就像这样。 1如果我在创建之后,即在第一个for循环之后,放置一个断点并检查tinymce编辑器,那么我在浏览器中看不到它们 2在控制台的tinymce.editors中也看不到它们 因此,我的破坏不起作用。然而,毕竟,我可以看到编辑们。 因为第二个for循环不会被执行 问题主要是,是否存在这样的情况:函数必须退出,然后浏览器对DOM进行更改?如果是的话,我应该睡觉吗?这个主意是我从 i、 e浏览器在函数存在或类似的情况下进行DOM更改。 有人能教我吗

我正试图动态创建和销毁TinyMCE编辑器,就像这样。 1如果我在创建之后,即在第一个for循环之后,放置一个断点并检查tinymce编辑器,那么我在浏览器中看不到它们 2在控制台的tinymce.editors中也看不到它们

因此,我的破坏不起作用。然而,毕竟,我可以看到编辑们。 因为第二个for循环不会被执行

问题主要是,是否存在这样的情况:函数必须退出,然后浏览器对DOM进行更改?如果是的话,我应该睡觉吗?这个主意是我从 i、 e浏览器在函数存在或类似的情况下进行DOM更改。 有人能教我吗

for (var i=0;i<10;i++) 
    {
    //i=0;
    divObj = document.createElement('div');
    divObj.className = 'top_div';
    divObj.id = 'top_div_' + i;
    divObj.innerHTML = 'Tiny Editor';
    var textareaObj = document.createElement('textarea');
    textareaObj.className = 'simpleEdit';
    textareaObj.id = 'nic_' + i;
    textareaObj.style.cssText="width: 300px; height: 100px;";
    divObj.appendChild(textareaObj);
    document.body.appendChild(divObj);
    tinyMCE.execCommand('mceAddControl', false, textareaObj.id);
    }
    editors = tinyMCE.editors.length;

   for (var i=0;i<editors;i++)
   {
     tinyMCE.remove(tinyMCE.editors[0]);
    } 

您在创建编辑器后立即调用remove函数。因此,编辑器实例尚未完全创建-这就是您未找到任何实例的原因。
正确的方法是使用tinymce,当编辑器准备就绪时会调用它。

window.setTimeoutdestroy,2000可以解决这个问题。TinyMCE显然需要一些时间让编辑器出现在浏览器中,因此我们需要在一段时间后调用destroy。这取决于您的客户端machiene-它无法在旧而慢的PC上工作