2013-02-19 57 views
0

我有一些文本内容显示在一个UIWebView这是纯html。当前段落以黄色突出显示,并且用户选择了“如果”这个词。 (链接图像:http://i.stack.imgur.com/GKp9h.png使用javascript/uiwebview动态突出显示ios

1)当用户在uiwebiew上选择一些文本时,我该如何执行动态高亮显示?即当用户正在选择文本时,选择的文本是否以紫色突出显示?例如,我喜欢用'紫色'(也许使用window.getSelection()?)的单词'If''),并且这种行为是动态的,因此当用户选择后续单词时,这些单词被选中以紫色突出显示。

我所用的那一刻挣扎是:

1)我应该听什么事件处理(JavaScript或iOS版),当用户选择在UIWebView的一些文字?这是在uimenucontroller打开之前。

2)有一次,我得到选定的文本(使用window.getSelection(),我怎么修改DOM在清洁高效的方式,使得所选文本被突出显示?

我想2)我不能直接用

+0

你可以使用':: selection' CSS选择器来设置文本的样式吗? (参见http://www.w3schools.com/cssref/sel_selection.asp) – nielsbot 2013-02-19 05:46:42

+0

感谢这是非常有帮助的。我不确定这是否支持span元素?这可能仅在textarea中受支持?你也知道这是否支持Safari/iOS? – user2085759 2013-02-19 05:52:49

+0

我刚刚尝试了你的建议。它可以在桌面上正常工作,但无法在iOS上运行:-( – user2085759 2013-02-19 06:25:00

回答

0

有一个非常类似的问题在这里:How to get selection text from UIWebView?

从接受的答案,看起来这可能会回答你的问题:http://zaldzbugz.posterous.com/how-to-mark-or-get-the-highlighted-string-ins/有一个关于在Web视图获取和样式的文本选择的讨论。

+0

谢谢。我确实早点看过那个链接。不幸的是,这并没有太大的帮助。我想我现在正在努力的是1)当用户在uiwebview上选择一些文本时,我应该听什么事件处理程序(JavaScript或iOS)?这是在uimenucontroller打开之前。 2)有一次,我得到了选定的文本(使用window.getSelection(),我如何以一种干净有效的方式修改DOM,使选定的文本被突出显示?我想2)我不能直接使用style.backgroundColor = <十六进制代码紫色> – user2085759 2013-02-19 05:43:58