问题
I have textarea and i want to change color of selected text.
Example:
var text = "abcdefg";
I want to change color of selected text efg.
here is my code:
var input = document.getElementById('area');
var value = input.value.substr(input.selectionStart, input.selectionEnd - input.selectionStart);
$('#abc').find(value).attr('color',color);
回答1:
Use ::selection CSS selector that select part of text is seleced. You can add your CSS property to selected text of elements.
var textarea = document.querySelector("textarea");
textarea.selectionStart = 12;
textarea.selectionEnd = 23;
::-moz-selection {
color: red;
}
::selection {
color: red;
}
<textarea>My textarea highlighted text</textarea>
回答2:
You can't change the selection color for a textarea, you can only change it for non-input objects.
Maybe you should try contenteditable instead of textarea
来源:https://stackoverflow.com/questions/39656190/how-to-change-color-of-selected-text-of-textarea