javascript FreeTextBox获得插入符号的位置(IE)



嗨,我试图得到插入符号的位置在freetextbox这只需要在IE中工作,我不知道如何做到这一点尝试了几个脚本,我发现与谷歌,但他们没有工作,甚至试图修复他们后,他们没有给出正确的结果。

有什么办法可以做到吗?有些事看起来很容易做,但其实不然。

通过使用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标签,然后它似乎。createrange (sel)返回[Object, ControlRangeCollection]而不是[Object, TextRange]..有什么办法可以解决这个问题吗?

Edit2:这似乎给了我在文本中的索引,而不是在它后面的html索引,所以它没有工作毕竟。

我不知道你想在那里实现什么,但是(看看FreeTextBox源代码)他们只是使用:

sel = this.GetSelection();
r = this.CreateRange(sel);

其中这个是一个FTB_FreeTextBox对象。我将试着想出一个工作的例子,一旦我得到了IE(在今天下午左右)。

最新更新