js实现选中
选中文本内容
使用 window.getSelection() 方法可以获取用户当前选中的文本内容。以下是一个简单的实现示例:
function getSelectedText() {
return window.getSelection().toString();
}
// 示例:监听鼠标抬起事件获取选中文本
document.addEventListener('mouseup', function() {
const selectedText = getSelectedText();
if (selectedText) {
console.log('选中内容:', selectedText);
}
});
选中DOM元素
通过 document.getSelection() 或 Range API 可以操作DOM元素的选中状态:
// 选中指定元素内容
function selectElement(element) {
const range = document.createRange();
range.selectNodeContents(element);
const selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
}
// 示例:选中ID为content的元素
const contentElement = document.getElementById('content');
selectElement(contentElement);
选中输入框内容
对于 <input> 或 <textarea> 元素,使用 select() 方法:
// 选中输入框全部内容
const inputElement = document.querySelector('input');
inputElement.select();
// 选中部分内容(起始位置,结束位置)
inputElement.setSelectionRange(2, 5);
自定义选中样式
通过CSS修改选中文本的样式:

::selection {
background-color: #ffb7b7;
color: #000;
}
清除选中状态
window.getSelection().removeAllRanges();






