Ответ 1
Да. Во всех браузерах вы можете получить один или несколько Range
или TextRange
из пользовательского выбора, а оба Range
и TextRange
имеют методы для изменения содержимого диапазона.
UPDATE
Вы можете установить выбор пользователя, создав Range
и добавив его в объект Selection
в большинстве браузеров и создав TextRange
и вызвав его метод select()
в IE <= 8.
Например, чтобы установить выделение для охвата содержимого элемента:
function selectElementContents(el) {
if (window.getSelection && document.createRange) {
var sel = window.getSelection();
var range = document.createRange();
range.selectNodeContents(el);
sel.removeAllRanges();
sel.addRange(range);
} else if (document.selection && document.body.createTextRange) {
var textRange = document.body.createTextRange();
textRange.moveToElementText(el);
textRange.select();
}
}
Существует также несколько методов объекта Selection
, который можно использовать для изменения выбора пользователя в браузерах, отличных от IE. Если вы можете уточнить, как вы хотите изменить выбор, тогда вам будет легче помочь.