Привет, я пытаюсь получить позицию каретки внутри 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 за ним, поэтому в конце концов это не сработало.