我有一个隐藏默认工具栏的 TinyMCE 编辑器,并创建了我自己的来替换它(使用 office2007 样式 css 预览进行了简化)。
我在通过代码创建链接时遇到问题(我用 cms 生成的页面列表加载我自己的 jQuery UI 窗口,这会返回一个指向我的代码的 url)。
我的做法如下:
将以下内容添加到 TinyMCE 设置配置:
execcommand_callback : 'NEWCMS.editor.util.override'
因此,在执行默认行为之前,执行的任何命令都会通过该函数运行。
在那个函数中,我检查它是否是一个“mceLink”事件(让我的自定义工具栏正确发送命令,所以那里不是问题)。当我得到一个时,我会显示一个返回用户选择的 url 的窗口。在这一点上,我有一个问题。
我使用选择的节点
var inst = $('#jbcms_editor_textarea').tinymce();
var selectedNode = inst.selection.getNode();
但正如预期的那样,它返回了段落的节点。
我需要做的是将选择包装在<a>
标签中,以便我可以使用该<a>
节点,但无法找到如何执行此操作。我已经浏览了 API,但找不到我要找的东西。不过肯定有一些东西,因为 TinyMCE 必须在内部使用它。(我也尝试过研究 TinyMCE 源,但它超出了我的范围!)
有人有什么想法吗?
谢谢