如何在文本区域上设置克拉位置时考虑 Windows 换行符 ( )

How to account for Windows newline ( ) while setting carat position on textarea?

本文关键字:Windows 换行符 位置 文本 区域 设置      更新时间:2023-09-26

我一直在研究一些代码,当您在文本区域中键入时,这些代码会修改克拉位置。对于大多数浏览器,换行符是"'",但在 IE 8 及更低版本中,换行符是"''r'",其长度是普通换行符的两倍。在设置克拉位置时,如何解释这种差异?我找到了这个资源,但我不确定如何实施它来纠正我的问题。我以为这就像在将"''r'"剥离到"'"后计算换行符的数量一样简单,然后将该数量乘以 2 并将其添加到我的克拉位置,但它不起作用。

小提琴:http://bit.ly/TAQxiV

第 67-116 行用于获取和设置克拉位置和文本区域内容。

有问题的脚本:http://jakiestfu.github.com/Behave.js/

最简单的

解决方案可能是测试这些特定版本的IE,并修改一些变量以在这些情况下2,其余时间1

您可以使用 BrowserDetect 对象来执行此操作。

BrowserDetect.browser // the name of the browser
BrowserDetect.version // the version of the browser