Можно ли установить объект Range как «выбор назад»? - PullRequest
6 голосов
/ 08 октября 2011

Я создаю объект Range и затем добавляю этот Range к выделению

window.getSelection ().addRange(myRange);

Как установить направление выбора? Я имею в виду направление, которое можно проверить, используя свойства выборок anchorNode, anchorOffset, focusNode и focusOffset.

1 Ответ

5 голосов
/ 08 октября 2011

Вы можете сделать это в браузерах, которые поддерживают extend() ( MDN ) метод Selection объектов.Mozilla, WebKit и Opera поддерживают его;IE не включает версию 11. extend() была добавлена ​​в спецификацию API редактирования HTML , поэтому она может еще отображаться в IE.

Вот пример функции:

function selectRangeBackwards(range) {
    if (typeof window.getSelection != "undefined") {
        var sel = window.getSelection();
        if (typeof sel.extend != "undefined") {
            var endRange = range.cloneRange();
            endRange.collapse(false);
            sel.removeAllRanges();
            sel.addRange(endRange);
            sel.extend(range.startContainer, range.startOffset);
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...