我有一个功能,当您单击按钮时, TinyMCE 框内的选定文本将包含在span
标记中。
这样做是这样的:
var apolo = '<span id=\"' + tag + '_' + key + '\" class=\"apolo' + type + '\" onClick=\"myFunction(this.id)\">' + sel + '</span>';
tinyMCE.activeEditor.execCommand('mceInsertContent', false, apolo);
预期结果是:
的 <span id="org_2" class="apoloP" onClick="myFunction(this.id);">SELECTED TEXT</span>
的的
但是,我得到的结果是:
的 <span id="org_2" class="apoloP">SELECTED TEXT</span>
的的
调用我的函数的onClick事件被忽略了。
版本3.5.8 正在运行,但由于另一个无法解决的错误,我不得不转移到版本4.0b2 ( {{3 }} 的)。
最后,我得到的只是一个错误到另一个。
有没有人知道我如何为TinyMCE删除我的文字?
答案 0 :(得分:2)
检查设置valid_elements并仔细查看是否将onclick添加为有效属性。我看起来这个属性被剥离了,因为它没有被注册为有效。
答案 1 :(得分:0)
对于需要有关此主题的更多信息的任何人可以提供帮助:
我遇到了完全相同的问题,并且在stackoverflow上发现了一些其他问题/答案,我必须更改 config / tinyMceConfig.config :
<validElements>
<![CDATA[+a[id....-span[class|align|style],...]]>
</validElements>
到
<validElements>
<![CDATA[+a[id....-span[class|align|style|title|onclick],...]]>
</validElements>
但即使该属性已在编辑器中显示 - 每次保存/发布页面时,以某种方式删除了title
和onclick
属性。
在 umbraco / Js / umbraco.controller.js 以下一行
var extendedValidElements = "@[id|class|style],-div[id|dir|class|align|style],ins[datetime|cite],-ul[class|style],-li[class|style],span[id|class|style]";
似乎删除了除定义属性之外的所有内容。 当我把它改为
时var extendedValidElements = "@[id|class|style],-div[id|dir|class|align|style],ins[datetime|cite],-ul[class|style],-li[class|style],span[id|class|style|title|onclick]";
保存/发布后,属性现在仍然存在。 我希望这可能对某人有所帮助。