TinyMCE自定义链接按钮/命令(带jQuery)

TinyMCE自定义链接按钮/命令(带jQuery),jquery,tinymce,selection,textselection,execcommand,Jquery,Tinymce,Selection,Textselection,Execcommand,我有一个默认工具栏隐藏的TinyMCE编辑器,并创建了自己的来替换它(简化为office2007样式的css预览) 我在通过代码创建链接时遇到了问题(我加载自己的jQuery UI窗口,其中包含cms生成的页面列表,这会返回代码的url) 我的做法如下: 将以下内容添加到TinyMCE设置配置: execcommand_callback : 'NEWCMS.editor.util.override' 因此,在执行默认行为之前,执行的任何命令都会通过该函数运行 在这个函数中,我检查它是否是一个“

我有一个默认工具栏隐藏的TinyMCE编辑器,并创建了自己的来替换它(简化为office2007样式的css预览)

我在通过代码创建链接时遇到了问题(我加载自己的jQuery UI窗口,其中包含cms生成的页面列表,这会返回代码的url)

我的做法如下:

将以下内容添加到TinyMCE设置配置:

execcommand_callback : 'NEWCMS.editor.util.override'
因此,在执行默认行为之前,执行的任何命令都会通过该函数运行

在这个函数中,我检查它是否是一个“mceLink”事件(让我的自定义工具栏正确地发送命令,所以这里没有问题)。当我得到一个url时,我会显示一个窗口,返回用户选择的url现在我有个问题。

我使用

var inst = $('#jbcms_editor_textarea').tinymce();
var selectedNode = inst.selection.getNode();
但正如预期的那样,它将返回段落的节点

我需要做的是将所选内容包装在
标记中,这样我就可以使用该
节点,但无法找到如何执行此操作。我已经浏览了API,但找不到我要找的内容。不过肯定有一些东西,因为TinyMCE必须在内部使用它。(我也尝试过寻找TinyMCE的来源,但它超出了我的能力!)

有人有什么想法吗


谢谢

您可以将所选内容包装成a标签,并将其写回编辑器:

var inst = $('#jbcms_editor_textarea').tinymce();
var content = inst.selection.getContent();
inst.execCommand('insertHTML',false, '<a>'+content+'</a>'); #you may add attributes here too (like href)
var inst=$('jbcms_editor_textarea').tinymce();
var content=inst.selection.getContent();
inst.execCommand('insertHTML',false',+内容+''#您也可以在此处添加属性(如href)

您可以将所选内容包装成a标签,并将其写回编辑器:

var inst = $('#jbcms_editor_textarea').tinymce();
var content = inst.selection.getContent();
inst.execCommand('insertHTML',false, '<a>'+content+'</a>'); #you may add attributes here too (like href)
var inst=$('jbcms_editor_textarea').tinymce();
var content=inst.selection.getContent();
inst.execCommand('insertHTML',false',+内容+''#您也可以在此处添加属性(如href)

您是否考虑过使用mceInsertLink命令将链接添加到当前选择?您是否考虑过使用mceInsertLink命令将链接添加到当前选择?很高兴能够提供帮助。布雷特发出的命令可能会让人接受另一种解决方案。能够提供帮助真是太好了。布雷特发出的命令可能会导致另一种解决方案。