Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery TinyMCE 4-删除()或销毁()_Jquery_Tinymce - Fatal编程技术网

Jquery TinyMCE 4-删除()或销毁()

Jquery TinyMCE 4-删除()或销毁(),jquery,tinymce,Jquery,Tinymce,我正在使用 我想删除或销毁tinymce编辑器(页面包含多个编辑器)。同时删除tinyMCE添加的类和ID 但保留可编辑内容 我试过: tinymce.remove() tinymce.destroy() tinymce.execCommand('mceRemoveControl',true,'.editable'); 请注意: 我的编辑器类是可编辑的,我的页面中有不止一个编辑器。您需要一个编辑器id(通常等于编辑器html根元素id(在大多数情况下是文本区域)) 例如: tinymce.ex

我正在使用 我想删除或销毁tinymce编辑器(页面包含多个编辑器)。同时删除tinyMCE添加的类和ID

但保留可编辑内容

我试过:

tinymce.remove()
tinymce.destroy()
tinymce.execCommand('mceRemoveControl',true,'.editable');
请注意:

我的编辑器类是可编辑的,我的页面中有不止一个编辑器。

您需要一个编辑器id(通常等于编辑器html根元素id(在大多数情况下是文本区域))

例如:

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

万一有人来到这里使用jQuery版本的TinyMce,请使用以下命令来删除实例:

$("#textarea_id").tinymce().remove();

我也有同样的问题。在v4中,上述所有建议对我都不起作用,但这确实起到了作用:

tinymce.remove("div.editable");

... regenerated HTML dynamicaly ...

tinymce.init(...);
我使用内联编辑器:

tinymce.init({
    selector: "div.editable",
    inline: true,
    plugins: [
    "advlist autolink lists link image charmap print preview anchor",
    "searchreplace visualblocks code fullscreen",
    "insertdatetime media table contextmenu paste"
    ],
    menubar: false,
    toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"});

希望这有帮助

以下代码正在运行

tinymce.get(id).remove();

当使用
tiyMCE.init({})函数时,@nikmauro给出的答案对我来说很有用,因此每次卸载页面时,您只需触发
tinymce.get(“real_element_id”).remove()

那种方法对我有效

顺便说一句,我觉得这个版本很有趣

//tinymce.cachefly.net/4.1/tinymce.min.js 

如果您有多个TinyMCE实例,可以使用以下代码段关闭TinyMCE的每个实例:

for (var i = tinymce.editors.length - 1 ; i > -1 ; i--) {
    var ed_id = tinymce.editors[i].id;
    tinyMCE.execCommand("mceRemoveEditor", true, ed_id);
}

我在加载Ajax内容之前使用它。

tinymce.EditorManager.remove()
这对我很有效

调用
elementReference.destroy()
//destroy是一个dojo函数
我们用
elementReference.domNode.remove()替换了该代码

我们还使用了tinymce.min.js,它给了我们一个意想不到的错误,派对晚了一点,但我最近在我的angular项目中添加了tinyMCE jQuery版本。出于一些原因,我不想使用angular第三方代码,只希望jQuery版本能够正常工作

这是我让TinyMCE 4.x以角度工作的代码,即使是ng repeat

$scope.RebindTinyMCE = function ()
{
    var tmceSelector = ".TinyMCEEditorBox";

    for (var i = tinymce.editors.length - 1 ; i > -1 ; i--)
    {
        tinyMCE.execCommand("mceRemoveEditor", true, tinymce.editors[i].id);
    }

    setTimeout(function () {
        $(tmceSelector).tinymce({
            menubar: false,
            statusbar: false,
            toolbar: 'bold italic underline | alignleft aligncenter alignright | bullist numlist outdent indent | link',
        });
    }, 50);
}
您所要做的就是使用类“TinyMCEEditorBox”装饰文本区域,并在删除或添加导致更新的项目时调用此方法(例如将更多项目添加到ng repeat)

简单使用

tinymce.remove()

删除所有编辑器。

请记住,如果给定的
textarea
有一个id,tinyMCE会出于某种奇怪的原因使用它,即使使用了
选择器
参数将编辑器应用于给定的元素。然后在内部数组中使用此id-
tinyMCE.editors
,该编辑器未清除(如果使用
tinyMCE.execCommand('mceRemoveControl',true,[id])
删除
实际上删除了
编辑器
,并防止再次应用tinyMCE)。同样地,如果应用了tinyMCE的动态内容,它将工作一次,但不会再次工作。要解决此问题,您需要根据删除tinyMCE.editors[$(node).getAttribute('id')]手动清理此数组。

您只需使用此代码即可删除所有可编辑文本区域:

tinyMCE.删除(“可编辑”)

以下是有关tinyMCE删除的更多信息:

假冒处女网站 TinyMCE将检查其是否已加载到
窗口中。脚本
。如果删除相应的条目,TinyMCE将表现为一个未触及的文档

function cleanTinyMCE() {
  for (var i=0; i < window.scripts.length; i++) {
    if (window.scripts[i].match('.*tinymce.*js.*')){
      delete window.scripts[i];
      return;
    }
  }
}
函数cleanTinyMCE(){
对于(var i=0;i
只需使用此选项,即可删除TinyMCE编辑器:


我可以使用
tinyMCE.remove()
删除所有编辑器,但如何再次添加它。你的代码也在工作。这样做的目的是:我的可编辑div是使用ajax加载的,因此加载时,我需要将TinyMce重新绑定到该div。您要实现的是正确的方式:TinyMce.execCommand('mceAddControl',true,'My_original_textarea_id');我在4.2中偶然发现了同样的问题,同样的情况只有tinyMCE.remove();然后是tinymce.execCommand('mceAddControl',true',#IDNAME');最后将tinymce编辑器初始化为$(“#ProductDescription”)。tinymce({OPTIONS})修复了这个问题,它只会删除编辑器的第一个实例。如果需要删除与选择器匹配的所有实例,则需要执行以下操作:
$(“.editable”).each(function(){$(this.tinymce().remove();})我确实在上面写了“一个实例”,所以是tinymce的一个实例。当然,有多种方法可以迭代多个实例并删除它们。Niels就是这样一种方法。我发现它对我很有效:tinymce.get('textarea_id').remove();现在代码不同了:tinymce.remove('.class_objects');或tinymce.remove('id#u object');这似乎并不总是能够真正删除所有上述编辑器。有时只是出错,有时只是偶尔删除。这对我删除编辑器很有效,但当我重新添加编辑器时,它们是不可编辑的<代码>tinyMCE.remove('textarea')我没有文本区域的唯一ID,它们是动态生成的,因此我有一个唯一的编辑器选择器类来标识tinymce编辑器。如何在删除和重新添加编辑器后使其可编辑?链接到文档(带有示例):您甚至没有阅读问题。这是OP尝试的第一件事。
tinymce.EditorManager.remove('.editable')
对我有效。
tinymce.remove(“.editable”)
不会为我删除编辑器。实际上,我必须使用
tinyMCE.get(“.editable”).remove()
从内部数组中删除编辑器。当编辑器调用弹出窗口中的textarea时,tinyMCE.remove()函数为我工作。
function cleanTinyMCE() {
  for (var i=0; i < window.scripts.length; i++) {
    if (window.scripts[i].match('.*tinymce.*js.*')){
      delete window.scripts[i];
      return;
    }
  }
}
tinymce.remove('#your_textarea_id');