Jquery TinyMCE 4-删除()或销毁()
我正在使用 我想删除或销毁tinymce编辑器(页面包含多个编辑器)。同时删除tinyMCE添加的类和ID 但保留可编辑内容 我试过: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.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');