Я задаю этот вопрос после 2 дней исследований. Я прочитал все связанные вопросы и ответы в stackoverflow и google (включая этот вопрос, который очень похож, но без ответа) и до сих пор не смог найти решение, Надеюсь, кто-то здесь сможет помочь.
У меня есть UIWebView с некоторым загруженным в него текстом. Я хочу выбрать часть текста программно, как если бы пользователь долго нажимал на нее.
Я попытался выполнить этот код javascript как ответ на клик:
function selectEl(x,y)
{
document.designMode = "on";
var el = document.elementFromPoint(x, y);
var range = document.createRange();
range.selectNodeContents(el);
var sel = document.getSelection();
sel.removeAllRanges();
sel.addRange(range);
document.designMode = "off";
}
Я пробовал это с изменением designMode и без него, чтобы "выключить" в конце функции. Я знаю, что этот код "выбирает" правильный элемент, потому что если я выполню эту команду
document.execCommand("BackColor", false, "#ffffcc");
на самом деле выделяет элемент, на который я нажал, но не вызывает выбор текста. Любые идеи о том, как достичь этого?