回答中没有给出任何类型的插件参考。我使用的是插件所见即所得的编辑器。
function blanks(){
wrap("*");
}
function wrap(tag) {
var sel, range;
var selectedText;
if (window.getSelection) {
sel = window.getSelection();
if (sel.rangeCount) {
range = sel.getRangeAt(0);
selectedText = range.toString();
range.deleteContents();
range.insertNode(document.createTextNode('|' + tag + selectedText + tag + '|'));
}
}
else if (document.selection && document.selection.createRange) {
range = document.selection.createRange();
selectedText = document.selection.createRange().text + "";
range.text = '|' + tag + selectedText + tag + '|';
}
参考stackoverflow注释框文本选择粗体并删除粗体。
答案 0 :(得分:0)
我没有能力以具体的方法回答这个问题,但从概念上讲,这是一项简单的任务。
可以容纳的容器的内容可以减少为字符串。字符串是一个字符列表。每个字符在此列表中都有一个位置或索引。
索引通常是从零开始的,因此我们假设对于这种情况。
如果您想要使用特定值CHAR
包装一系列字符,它可能如下所示:
var result =
string.slice(0, index) +
CHAR + string.slice(index, size) + CHAR +
string.slice(index + size);
index
是第一个字符的位置,size
是选择中的字符数。