Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改鼠标高亮显示的一系列文本的背景色_Javascript_Jquery_Html - Fatal编程技术网

Javascript 更改鼠标高亮显示的一系列文本的背景色

Javascript 更改鼠标高亮显示的一系列文本的背景色,javascript,jquery,html,Javascript,Jquery,Html,我有一系列的段落,我想改变一些选定文本的背景色。 例如: <p>The quick brown</p> <p>fox jumps over</p> <p>the lazy dog</p> 快速棕色 狐狸跳了过去 懒狗 用户选择从“棕色”到“惰性”的文本范围,并单击“更改颜色”按钮。我要做的是对所选文本进行修改,如更改颜色、大小等。请参见 我希望通过这篇文章的帮助,你将能够实现你真正想要的。这是我所能做到的(仅适用于同一块

我有一系列的段落,我想改变一些选定文本的背景色。 例如:

<p>The quick brown</p>
<p>fox jumps over</p>
<p>the lazy dog</p>
快速棕色

狐狸跳了过去

懒狗

用户选择从“棕色”到“惰性”的文本范围,并单击“更改颜色”按钮。我要做的是对所选文本进行修改,如更改颜色、大小等。

请参见

我希望通过这篇文章的帮助,你将能够实现你真正想要的。

这是我所能做到的(仅适用于同一块元素中的文本) 如果有人能改进这一点,请做

将“buttonid”替换为按钮的id

function selectHTML() {

try {
    if (window.ActiveXObject) {
        var c = document.selection.createRange();
        return c.htmlText;
    }

    var nNd = document.createElement("span");
    var w = getSelection().getRangeAt(0);
    w.surroundContents(nNd);
    return nNd.innerHTML;
} catch (e) {
    if (window.ActiveXObject) {
        return document.selection.createRange();
    } else {
        return getSelection();
    }
}

}


$(function() {

$('#button_id').click( function() {
    var mytext = selectHTML();
    $('span').css({"color":"blue"});
});

});

“选择”是指用光标标记它?为什么需要这个?获取选择、在多个段落中插入跨距等都会非常复杂。看看这个问题,然后用jQuery改变背景,也许你会在这里()或这里()找到一些想法@dTDesign必须在选定文本之间插入一个跨距,以便可以更改选定文本的背景色。在这种情况下,OP使用的不仅仅是一个
,因此执行此操作将非常复杂。想象一下,如果用户选择快速棕色狐狸,您将如何在两个
-s之间放置
span
?这是不一样的…@Balint Bako,Iknow,但这个链接是为了给出一个如何获取所选文本的想法,基于这个想法,他可以添加逻辑来更改文本的背景颜色。