- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试选择文本并将该选择保存在 localStorage 或 DB 中,并且我可以通过从存储中读回它来突出显示之前选择的文本。但是,如果所选文本位于页面中的多个位置,那么所有实例都会突出显示,这是我不想要的。我可以捕获所选文本的左侧和顶部,但在调整字体大小的情况下,左侧/顶部会发生变化。我不会在这里共享任何代码,因为没有与此相关的内容可以共享。仅供引用,我指的是 ipad 中的 iBooks 应用程序,它具有相同的功能,我想知道它是如何正确运行的?
更新:我尝试了一种新方法,其中我在所选文本周围添加标记,使用它我可以找出所选字符串的开头和结尾,以便稍后突出显示。您可以在此处查看演示:http://jsfiddle.net/codef0rmer/jE4w5/
但是在 iPad 中 rangeCount
不起作用,iPad 有什么解决方法吗?
最佳答案
您可以使用 window.getSelection()
获取有关当前选择的信息- 至少在现代浏览器中。它将返回 Selection对象,您可以从使用该对象提供的属性开始:
anchor 节点返回选择开始的节点。
anchor 偏移量返回选择的 anchor 在 anchorNode 内偏移的字符数。
焦点节点返回选择结束的节点。
焦点偏移返回所选内容的焦点在 focusNode 内偏移的字符数。
已折叠返回一个 bool 值,指示选择的起点和终点是否在同一位置。
范围计数返回选择中的范围数。
此外,使用 getRangeAt()
方法,你可以得到 Range Selection 中的对象,它提供更有用的方法和属性。
我不知道你想用这个解决方案走多远,你的问题很笼统,所以这更像是一个你可以走的方向,而不是一个现成的解决方案。
关于javascript - 有没有办法保存所选文本并在刷新页面后再次突出显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11433888/
有没有一种方法可以“标记”对象的属性,使它们在反射中“突出”? 例如: class A { int aa, b; string s1, s2; public int AA
我是一名优秀的程序员,十分优秀!