2013-02-19 2 views
0

У меня есть текстовый контент, отображаемый на UIWebView, который является простым html. Текущий абзац выделен желтым цветом, и пользователь выбрал слово «Если». (ссылка для изображения: http://i.stack.imgur.com/GKp9h.png)динамическое выделение с использованием javascript/uiwebview ios

1) Когда пользователь выбирает какой-либо текст в uiwebiew, как мне выполнить динамическое выделение? то есть, когда пользователь выбирает текст, выбранный текст выбирается фиолетовым цветом?

Например, мне нравится слово «Если» выделено фиолетовым (возможно, с использованием window.getSelection()?) И ​​что это поведение является динамическим, так как пользователь выбирает последующие слова, эти слова под выбором получают выделено фиолетовым цветом.

То, что я борюсь с на данный момент:

1) Какое событие обработчика (JavaScript или IOS) я должен слушать, когда пользователь выбирает какой-нибудь текст на UIWebView? Это до открытия uimenucontroller.

2) После того, как я получаю выделенный текст (с помощью window.getSelection(), как я могу изменить DOM в чистом эффективным способом таким образом, что выбранный текст при этом выделяется?

Я полагаю, для 2) я не может непосредственно использовать

+0

Можете ли вы создать текст с помощью селектора CSS «:: selection»? (см. http://www.w3schools.com/cssref/sel_selection.asp) – nielsbot

+0

спасибо, что это очень полезно. Я не уверен, поддерживается ли это для элементов span? Это может поддерживаться только в textarea? Также знаете ли вы, поддерживается ли это в Safari/iOS? – user2085759

+0

Я просто попробовал ваше предложение. Он отлично работает на рабочем столе, но не работает на iOS :-( – user2085759

ответ

0

там очень похожий вопрос здесь: How to get selection text from UIWebView?

Из принятого ответа там, выглядит, как это может ответить на ваш вопрос: http://zaldzbugz.posterous.com/how-to-mark-or-get-the-highlighted-string-ins/ там в дискуссии о том, чтобы и стилизации выделение текста в веб-просмотра.

+0

спасибо. Раньше я смотрел эту ссылку. К сожалению, это не помогло. Я предполагаю, с чем я сейчас борюсь: 1) Какой обработчик событий (JavaScript или iOS) я должен слушать, когда пользователь выбирает какой-то текст в uiwebview? Это до открытия uimenucontroller. 2) Однажды, я получаю выделенный текст (используя window.getSelection(), как я могу изменить DOM эффективным образом, чтобы выделенный текст был выделен? Я полагаю, что для 2) я не могу напрямую использовать style.backgroundColor = < шестнадцатеричный код фиолетового> – user2085759

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