Я пытаюсь получить anchorOffset
текста, выбранного пользователем в A UIWebView
.У меня есть короткая функция Javascript (ниже), которая вызывается, когда пользователь выбирает текст и выбирает параметр из пользовательского контекстного меню.
function textPosition()
{
var text = window.getSelection();
var x = text.anchorOffset;
return x;
}
У меня есть простой абзац, отображаемый в UIWebView
, начинающийся с:
Это тестовое предложение
Все работает как положено, если я выбираю целые слова ... например.если я выбираю This
, функция возвращает 0
, если я выбираю sentence
, функция возвращает 15
.
Однако, если я перемещаю маркеры на выделенном тексте в UIWebView
, anchorOffset
отличается от ожидаемого.Например.При выборе порций в следующем порядке в первом слове this
возвращает следующее:
his
возвращает 4
hi
возвращает 1
Thi
возвращает 3
Кроме того, это отличается в зависимости от порядка, в котором я изменяю выбор:
This
возвращает 0
Thi
возвращает 0
hi
возвращает 3
Похоже, что anchorOffset
отличается в зависимости от того, с какого конца выбора я изменяю выбор.
Мои вопросы:
- Я делаю очевидную ошибку?
- Это ожидаемое поведение?
- Есть ли что-то, что я могу сделать, чтобы результат был последовательным?
Спасибо!