使用javascript/uiwebview ios动态高亮显示

使用javascript/uiwebview ios动态高亮显示,javascript,ios,dynamic,uiwebview,highlighting,Javascript,Ios,Dynamic,Uiwebview,Highlighting,我有一些文本内容显示在UIWebView上,它是纯html。当前段落以黄色突出显示,用户已选择“如果”。(链接到图片:) 1) 当用户在UIWebView上选择一些文本时,如何执行动态高亮显示?i、 e.当用户选择文本时,所选择的文本以紫色突出显示 例如,我喜欢用紫色突出显示单词“If the”(可能使用window.getSelection()?),并且这种行为是动态的,当用户选择后续单词时,选择下的这些单词将以紫色突出显示 我目前正在努力解决的问题是: 1) 当用户在uiwebview上选择

我有一些文本内容显示在UIWebView上,它是纯html。当前段落以黄色突出显示,用户已选择“如果”。(链接到图片:)

1) 当用户在UIWebView上选择一些文本时,如何执行动态高亮显示?i、 e.当用户选择文本时,所选择的文本以紫色突出显示

例如,我喜欢用紫色突出显示单词“If the”(可能使用window.getSelection()?),并且这种行为是动态的,当用户选择后续单词时,选择下的这些单词将以紫色突出显示

我目前正在努力解决的问题是:

1) 当用户在uiwebview上选择一些文本时,我应该听什么事件处理程序(JavaScript或iOS)?这是在uimenucontroller打开之前

2) 一旦获得所选文本(使用window.getSelection()),如何以干净高效的方式修改DOM,使所选文本高亮显示


我想对于2)我不能直接使用
样式。backgroundColor=

这里有一个非常类似的问题:


从接受的答案来看,这似乎可以回答您的问题:有一个关于在web视图中获取文本选择并设置其样式的讨论。

谢谢。我之前确实看过那个链接。不幸的是,这没有多大帮助。我想我目前正在努力解决的问题是1)当用户在uiwebview上选择一些文本时,我应该听什么事件处理程序(JavaScript或iOS)?这是在uimenucontroller打开之前。2) 一旦获得所选文本(使用window.getSelection(),我如何以干净高效的方式修改DOM,使所选文本高亮显示?我想对于2)我不能直接使用样式。backgroundColor=您可以使用
::selection
CSS选择器设置文本样式吗?(cf.)谢谢这非常有帮助。我不确定跨度元素是否支持此功能?这可能仅在textarea中受支持?另外,您知道Safari/iOS是否支持此功能吗?我刚刚尝试了您的建议。它在桌面上工作正常,但在iOS上不工作:-(对不起,如果我更有信心,我会发布一个真实的答案:)它必须是一个web视图吗?我确信您可以获得其他iOS文本视图的选择区域。