Я строю свой собственный веб -компонент. И я использую Shadow Dom, чтобы сделать это. Я знаю, что использование document.getSelection () я могу получить выбранный текст, но мне нужно было бы сделать это в Shadow Dom. Тем не менее, объект Shadow DOM даже не содержит этого метода, и, что более важно, его не следует использовать. Более подробная информация здесь - shadowroot.getSelection ()? Прикрепленный код находит выбранный текст, но добавляет пролет к телу, а не в теневой DOM. Есть ли какое -либо решение для этого? />
Код: Выделить всё
boldButton.onclick = () => {
const selection = document.getSelection();
if (!selection || selection.rangeCount === 0) return;
const range = selection.getRangeAt(0);
const span = document.createElement("span");
span.style.backgroundColor = "yellow";
range.surroundContents(span);
};
Спасибо
Подробнее здесь:
https://stackoverflow.com/questions/794 ... -selection