[英]javascript FreeTextBox get caret position (IE)
嗨,我试图在freetextbox中获得插入符的位置,这只需要在IE中工作,我不知道该怎么做,它尝试了一些我在google上找到的脚本,但没有一个起作用,甚至在尝试修复它们后也做了没有给出正确的结果。
那有什么办法吗? 似乎有些事情很容易做到,但事实并非如此……
通过使用WTK的答案,我知道了!
function GetCaretPossion(o) {
var r = document.selection.createRange();
var sel = o.GetSelection();
var re = o.CreateRange(sel);
var rc = re.duplicate();
re.moveToBookmark(r.getBookmark());
rc.setEndPoint('EndToStart', re);
return rc.text.length;
}
编辑:这很好,直到我单击文档内的img标记,然后看来o.CreateRange(sel)返回了[Object,ControlRangeCollection]而不是[Object,TextRange] ..有什么办法可以解决这个问题?
Edit2:看来这给了我文本中的索引,而不是它后面的html中的索引,所以它毕竟不起作用。
我不知道您要达到的目标,但是(看着FreeTextBox源代码)他们只是在使用:
sel = this.GetSelection();
r = this.CreateRange(sel);
这是FTB_FreeTextBox对象。 一旦掌握了IE(今天下午左右),我将尝试提出一个工作示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.