Javascript 更改所选文本的颜色
我知道存在CSS伪元素::选择。但无论如何,我需要它,因为我学习JavaScript。以下是我使用的代码,但它不起作用:Javascript 更改所选文本的颜色,javascript,Javascript,我知道存在CSS伪元素::选择。但无论如何,我需要它,因为我学习JavaScript。以下是我使用的代码,但它不起作用: document.body.addEventListener('mouseup', function() { var txt = window.getSelection().toString(); var txtNode = document.createTextNode(txt); var rng = document.createRange();
document.body.addEventListener('mouseup', function() {
var txt = window.getSelection().toString();
var txtNode = document.createTextNode(txt);
var rng = document.createRange();
rng.setStart(txtNode, 0);
rng.setEnd(txtNode, txt.length);
var span = document.createElement('span');
span.style.backgroundColor = 'green';
rng.surroundContents(span);
}, false);
在那之前,我只是强调一下。单击空空间分配重置时,您还需要做什么
document.body.addEventListener('mouseup' , function(){
var selection = window.getSelection();
var range = selection.getRangeAt(0);
var span = document.createElement('span');
span.style.backgroundColor = 'green';
range.surroundContents(span);
} , false);
坦率地说,我不明白什么不起作用。所以您需要::selection,或者换句话说?你在学习JS,所以你需要它,它并不能解释你的问题以及你想要的输出是什么。只是把它涂成绿色?我想用JavaScript改变一个标准选择的颜色。虽然这种方法到处都有很多HTML元素,但是有什么特别的原因让你想这样做吗?这并不容易。必须将选定节点拆分为其选定部分和非选定部分,然后将选定节点包裹在元素(例如,跨度)中,可以根据需要设置样式。在嵌套元素中存在类似于选择的边缘情况。我想有一次我回答了一个重复的或类似的问题,但找不到。@Oriol,我已经试了半天了——这是不可能的。以不同的方式尝试。