Javascript 加上「;突出显示“;按钮可编辑内容

Javascript 加上「;突出显示“;按钮可编辑内容,javascript,jquery,contenteditable,Javascript,Jquery,Contenteditable,我正在为一个项目制作一个小WYSIWYG,我需要能够高亮显示文本,单击一个按钮,这将在选择周围附加一个跨度,并带有一个“.highlight”类。跨度将具有黄色背景 这是我迄今为止从其他地方得到的,它是附加文本而不是HTML。 以下是JS: function wrap(tag) { var sel, range; if (window.getSelection) { sel = window.getSelection(); if (sel.r

我正在为一个项目制作一个小WYSIWYG,我需要能够高亮显示文本,单击一个按钮,这将在选择周围附加一个跨度,并带有一个“.highlight”类。跨度将具有黄色背景

这是我迄今为止从其他地方得到的,它是附加文本而不是HTML。

以下是JS:

function wrap(tag) {
    var sel, range;

    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 + ']';
    }

}
一个选择是使用我的库。这具有在所有主要浏览器(包括IE6-8)和一般情况下工作的优势,例如当选择包含以不同元素开始和结束的文本时

如果需要处理的唯一情况是单个文本节点中的文本,则可以从选择中创建一个范围并调用其方法。有关详细信息,请参见以下答案:


我一直在等待全能的射程巫师蒂姆·唐恩的加入!谢谢,我今晚会看的,如果有任何问题,我会回复。