我正在尝试实现一个界面,其中有一个富文本编辑器(RTE)和一个面板,允许用户将某些代码片段引入 RTE。
我正在尝试的与http://jsfiddle.net/timdown/wPfVn/完全一样,只是我想使用 RTE 而不是纯文本区域。
问题是所有 RTE 都将 textarea 替换为 div 和 iframe 等。 textarea 的功能与检测光标位置类似selectStart
,selectionEnd
但不可用于检测光标位置。
是否有通过我可以使用的 API 公开此类功能的 RTE?
如果有人在某个网站上看到过类似的东西,请指出我。也许我可以 ctrl+u 并弄清楚他们使用了什么。
已解决:感谢 Magus 的回答。可以使用 TinyMCE 编辑器。它有一个 selection 和 selection.bookmarks 的概念。这是实现结果的方法。
tinyMCE.init({
mode : "exact",
elements: "notifierBody",
});
$('.insertBtn').click(function(){
// Stores a bookmark of the current selection
var bm = tinyMCE.activeEditor.selection.getBookmark();
// Restore the selection bookmark. In effect, takes the control that the bookmark
tinyMCE.activeEditor.selection.moveToBookmark(bm);
//Add new content right in the middle where your cursor/selection was
tinyMCE.activeEditor.selection.setContent('Some new content');
});