javascript - 文本行之间是否有特定的 x-y 坐标?

标签 javascript jquery coordinates

如何使用 Javascript(jQuery 可以)判断 HTML 页面上的特定 X-Y​​ 坐标是否垂直位于两行文本之间?这些行可能在一个长段落的中间,在一个冗长的行项目标签内,在一个跨度内,在两个标签之间,等等。我无法控制 HTML 或 X-Y 点,但我需要知道是否X-Y 点在一行文本的中间,或者如果它在两行文本之间;它需要非常高效。

如果我还不够清楚,请提出任何问题。

非常感谢。

最佳答案

您可以在文本范围内调用 .getBoundingClientRect()。您将需要为 IE 和非 IE 浏览器编写单独的代码来获取文本范围。

感谢 textRange.moveToPoint(x, y),这在 IE 中应该相对容易.对于其他浏览器,您必须执行一些操作,例如对 DOM 中的元素进行二进制搜索,对元素调用 .getBoundingClientRect(),直到找到包含您的文本的元素。然后创建一个包含该元素文本的范围,并对该范围进行二进制搜索以查找您的点是否与任何文本重叠。

如果绝对定位元素的文本与其他元素重叠,所有这一切都会变得非常复杂。

关于javascript - 文本行之间是否有特定的 x-y 坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8219093/

相关文章:

c++ - 从坐标 vector 中提取坐标并保存到文件

java - 如何将 XML 文件中的 x 和 y 坐标解析为 Java 中的 Point2D 数组?

python - 在 Python 中高效操作笛卡尔坐标列表

javascript - 安卓 WebView : Using relative paths when loading javascript from assets

javascript - jQuery 可选小部件和一列表格行

javascript - 在 html 中的选项标签中包含文本框

javascript - Bootstrap 单选按钮和切换按钮的 Jquery 插件兼容性

javascript - 如何计算复选框检查(Gridview 标题和行中)的值?

javascript - 在 Javascript 中监听我的 Flash 事件

jquery - 使用页面特定 URL 和 addClass 到 href 的 Sprites 主动导航