在文本区域中获取插入符号 XY 坐标 [重复]

Posted

技术标签:

【中文标题】在文本区域中获取插入符号 XY 坐标 [重复]【英文标题】:Get caret XY coordinates in text area [duplicate] 【发布时间】:2011-07-02 06:15:05 【问题描述】:

是否有任何好的 JQuery/JS 解决方案来获取文本区域中插入符号的绝对位置(以 X/Y 坐标或上/左坐标给出)。 keyDown JQuery 函数的本机 Event 对象给出了光标的 x/y 坐标,我想要与工作插入符号类似的东西。 我的目标是添加一个浮动 html 元素,它将相对于工作插入符号位置定位,因此我需要以某种方式获取它的位置。

我需要处理 TextArea 元素的解决方案,但任何可编辑 html 元素的通用解决方案会更好!

【问题讨论】:

u cnt 但是有一些东西可以给你左边的字符数 @OrShachar:您使用过下面答案中提到的插件吗?它是否适用于 html 中的所有可编辑控件? 不幸的是,那是很久以前的事了,我不记得了。但从我的反应来看,它似乎确实如此。 【参考方案1】:

也许你想用<div contenteditable="true">替换<textarea>,它的行为几乎相同,你可以通过常规方式获取坐标。

【讨论】:

谢谢!我更一般的想法是创建一个适用于页面中每个内容可编辑元素的 Chrome 扩展程序,因此我必须知道所有的方法。使用 div 的常规方法是什么? 这只是我知道的一种跨浏览器方式,可能是 chrome 有一些特别的东西,我不知道。 @ValentinKantor 有什么办法?我现在正在寻找那个。 @CrisStringfellow 将 contenteditable="true" 添加到您的 div 中 @ValentinKantor 谢谢。然后抓取一个零宽度 unicode 字符的 x,y 偏移量,该字符包含在插入到插入符号位置的 span 中。

以上是关于在文本区域中获取插入符号 XY 坐标 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在文本区域中获取行号[重复]

获取文本区域中插入符号的偏移位置(以像素为单位)[重复]

文本区域中的光标位置(字符索引,不是 x/y 坐标)

使用 JS 读取文件并在文本区域中显示其内容 [重复]

如何在文本区域的当前插入符号位置插入文本

在文本区域中的光标位置之后插入文本