Я пытаюсь найти способ с javascript, чтобы выделить текст, который пользователь выбирает, когда он нажимает какую-то нечетную кнопку выделения (как в < span style = "background-color: yellow" > выделенный текст </span> ). Он должен работать только с WebKit или Firefox, но, похоже, он почти невозможен, поскольку он должен работать в следующих случаях:
<p>this is text</p>
<p>I eat food</p>
Когда пользователь выбирает из "текст" через "Я ем" в браузере (не могу просто поместить туда провал).
и этот случай:
<span><span>this is text</span>middle text<span>this is text</span></span>
Когда пользователь выбирает от "is text" до "this is" в браузере (даже если вы можете обернуть ваши выделенные промежутки вокруг каждого элемента в выделенном фрагменте, я хотел бы, чтобы вы попытались выделить выделенный средний текст).
Эта проблема, кажется, нигде не решается, честно говоря, я сомневаюсь, что это возможно.
Было бы возможно, если бы вы могли получить Range, который вы получаете из выделения, в виде строки, полной html, которая может быть проанализирована, а затем заменена, но, насколько я могу судить, вы не можете получить необработанный html Диапазон.. жалость.