[英]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.