重置 TinyMCE 工具栏选项

3

我正在应用程序中重复使用一个tinymce控件。基本上,我在单击链接/按钮时打开tinymce工具栏。我使用工具栏选择例如粗体或撤消一些文本,然后关闭tinymce。当我为另一个链接/按钮再次打开tinymce时,我似乎仍然选择了第一次所做的工具栏。例如:

第一次打开tinymce,我选择加粗:

enter image description here

然后我简单地关闭tiny mce,稍后再次打开它以供另一个字段使用,当我为另一个字段打开它时,B设置仍然启用(如上图所示)。是否有一种方法在打开tinymce时编程重置工具栏选择。我查看了他们的文档,但没有找到


看起来很像 https://dev59.com/xG445IYBdhLWcg3w4-Be 的一个副本。 - Dominik George
@jonH,你能删除或禁用cookies吗?它会存储你之前的选择。 - Amit
@AmitAgrawal 那绝对不是一个好的解决方案。 - JonH
3个回答

1

请查看fiddle。这将清除任何以前存在的格式,并在编辑器为空时重置所有格式按钮

tinymce.activeEditor.execCommand('selectAll');
tinymce.activeEditor.execCommand('RemoveFormat');

这两行代码的作用是选择所有内容,然后清除格式。最好的部分是它甚至可以在你的空 TinyMCE 编辑器中工作。
编辑: 为了达到你的目的,当编辑器打开时,只需单击“加粗”按钮,然后单击我们已包含的“清除格式”按钮即可重置“加粗”按钮的状态。

0
你可以尝试的一种方法是重新加载整个tinyMCE。尝试使用以下代码来删除它:
tinyMCE.execCommand('mceRemoveControl', true, 'editor_id');

然后重新初始化:

tinyMCE.init({
  /* TinyMCE options */
 });
}

-2
请查看他们的页面 - 点击这里
removeformat : [
{selector : 'b,strong,em,i,font,u,strike', remove : 'all', split : true, expand : false, block_expand : true, deep : true},
{selector : 'span', attributes : ['style', 'class'], remove : 'empty', split : true, expand : false, deep : true},
{selector : '*', attributes : ['style', 'class'], split : false, expand : false, deep : true}
]

将此代码编写在init方法中。

如果您将其添加到tinymce配置文件中,则会反映在您初始化的每个tiny mce实例上。


这并没有解释或指出你正在修复什么,请澄清一下。 - JonH
你在问题中说你已经查看了他们的文档,但是我上面写的那段代码,就是从文档页面上复制下来的,该页面的URL是 - http://www.tinymce.com/wiki.php/Configuration%3aformats。 在这个页面上,向下滚动,阅读上面的内容,他们写道,如果你想重置/清除tinymce工具栏的格式,可以在tinymce工具栏的init方法中使用“removeformat:[bla bla bla]”部分。现在,清楚了吗?撤销那个负评,因为答案已经解决了问题。回答必须简短明了。 - tushar.dahiwale
@JonH,你能给个fiddle或链接吗?我想看看实时问题。因为我无法理解我的建议为什么对你不起作用。 - tushar.dahiwale
我已经确认了我的答案并重新阅读了你的问题。如果你每次打开一个TinyMCE工具栏时都调用.init()方法,那么你肯定可以在.init()方法中使用removeformat参数。祝你一切顺利。 - tushar.dahiwale
上述代码处理了“所有”格式,因此不需要通过显式指定来处理其他格式。 - tushar.dahiwale
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接