TinyMCE不在标记中添加onClick事件

时间:2013-05-07 14:38:29

标签: onclick tinymce

我有一个功能,当您单击按钮时, 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删除我的文字?

2 个答案:

答案 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>

但即使该属性已在编辑器中显示 - 每次保存/发布页面时,以某种方式删除了titleonclick属性。

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]";

保存/发布后,属性现在仍然存在。 我希望这可能对某人有所帮助。