【发布时间】:2012-06-30 18:17:42
【问题描述】:
我想要的是计算插入符号从字符串的开头移动到结尾的时间。
说明:
在这个小提琴中看这个字符串"":http://jsfiddle.net/RFuQ3/
如果您将插入符号放在第一个引号之前,然后按右箭头 ►,您将按 3 次到达第二个引号之后(而不是空字符串 2 次)。
第一种方法,也是最容易计算字符串长度的方法是<string>.length。
但在这里,它返回 2。
第二种方式,从JavaScript Get real length of a string (without entities) 也给出2。
我怎样才能得到 1?
1-我想到了一种将字符串放入文本输入的方法,然后使用try{setCaret}catch(){} 执行while 循环
2-只是为了好玩
【问题讨论】:
-
返回的长度加一?
-
您实际上想要完成什么?知道这可能会很有用。您是否要跟踪从左到右爬行的光标以检测或操作某些内容?
-
另外,您能否在 jsFiddle 以外的地方演示这种效果,这是一种独特的编辑环境?换句话说,普通的
input和textarea没有这个效果。 jsFiddle 的文本操作脚本没有完美调整。 -
@JaredFarrish 如果用户按下箭头来计算文本框中的长度,他将得到
x。在大多数情况下 ("foo",123,ಠ_ಠ)length会给出 x。但在我的例子中不是。 -
见我的第二条评论。您还有其他地方可以证明这不是 jsFiddle 吗?必须使用哪种“基于光标”的环境?