2013-09-10 2 views
0

Поэтому я пытаюсь выделить текст, выбрав его и нажав кнопку (помеченный как выделенный текст).не может получить текст, выделенный при наличии нескольких тегов

Это реализация этого:

http://jsbin.com/uzILUro/1

Часть html, которая имеет несколько тегов не получает выбран.

т. Е. Попытайтесь выбрать нижеследующий абзац и выделить его, нажав кнопку.

"The remainder is r when p is divided by k" means p = kq + r; the integer q is called the quotient. For instance, “The remainder is 1 when 7 is divided by 3” means 7 = 3·2 + 1. Dividing both sides of p = kq + r by k gives the following alternative form p/k = q + r/k.

Все другие работы, за исключением вышеуказанного пункта.

+0

Вы должны уточнить свой вопрос; недостаточно информации, чтобы понять, чего вы пытаетесь достичь. Ваш пример не информативен. – mortb

+0

@mortb Я в основном хочу выделить текст, который выбран пользователем, но некоторые из текста, который содержит некоторые специальные теги, не выбираются, и выше написанный текст является примером того же самого. – Prateek

ответ

1

В большинстве браузеров вы можете использовать window.find(), хотя в будущем он может быть удален из браузеров (, WebKit). Вот ответ о том, что:

https://stackoverflow.com/a/5887719/96100

0

Основная проблема заключается в том, что вы используете var searchText = document.getSelection().toString(), который не учитывает открывающие и закрывающие теги внутри вашего выбора. Вместо этого вы должны попробовать использовать searchText = newNode.innerHTML

Внесите эти изменения в свою getSelectedText функцию, и вы должны быть золотыми. Могут потребоваться некоторые дополнительные изменения для IE.

+0

'searchText = sel.innerHTML;' в 'GetSelectedText' функция? – Prateek

+0

@prateek № '' sel'' - это объект выбора, а не узел. В вашем собственном коде вы создаете переменную '' newNode'', которую вы заполняете выбранным контентом, используя '' range.surroundContents (newNode); ''. После этого вы должны извлечь содержимое с помощью '' newNode.innerHTML'' – Kippie

Смежные вопросы