【发布时间】:2012-08-07 17:42:17
【问题描述】:
给定一个内容像这样流动的文本区域
–––––––––––––––––––––––––– |这是一些文本,其中 | |像这样包裹。 | ––––––––––––––––––––––––––如何判断文本光标是否在文本区域的第一行?
显然,如果想查看光标是否出现在第一个换行符之前,检查换行符 (\n) 是可行的,但测试“软”换行符似乎更具挑战性。
这是一个示例jsFiddle to experiment with。
我还没有想出策略,但我怀疑它可能涉及将文本复制到光标位置到克隆的文本区域(或 div)中,并根据需要设置宽度不包。如果克隆区域的宽度小于原始区域的宽度,则光标似乎必须位于第一行。可能有更简单的选择,更优雅的选择,或者(最好的)现有且经过充分测试的解决方案。
目标浏览器是 Webkit (Chrome/Safari) 和 Firefox。 IE。 IE 兼容性目前不是问题(如果这有什么不同的话)。
感谢阅读。
编辑:寻找文本插入符号的行号,而不是鼠标光标。
falsarella 给出了一个很好的答案,突出了问题中的歧义。我正在寻找的是文本光标(“插入符号”可能是一个更好的词)是否在第一行。我已经更新了问题和the jsFiddle 来反映。
【问题讨论】:
-
在搜索 SO 时,我发现这两个问题可能对您有所帮助,但不确定您是否已经看过它们stackoverflow.com/questions/9370197/…stackoverflow.com/questions/4928586/…
-
请忽略我之前的评论,我误解了这个问题
标签: javascript jquery html dom textarea