Объект selection
Internet Explorer 4.0x использует объект document.selection который включает в
себя свойства и некоторые методы для управления выделениями. Объект selection
предоставляет информацию о тексте и элементах, которые пользователь выделил
с помощью мыши. Это может быть очень полезно, если вы хотите произвести некоторые
действия, основанные на том, что выделил пользователь.
Свойство type объекта selection определяет тип выделения. Это строка, доступная
только для чтения, которая может принимать одно из следующих значений:
Значение | Описание |
None | Нет выделения или точки вставки. |
Text | Выделен только текст. |
Control | Выделены структуры управления. |
Значение по умолчанию, естественно, "None" - когда нет выделения. Поэтому,
сравнение значения document.selection.type с "None" в Internet Explorer 4.0x,
равносильно сравнению значения возвращенного методом document.getSelection() с
"" в Navigator 4.0x
Объект selection имеет следующие методы:
Метод | Описание |
clear() | Очищает содержимое текущего выделения. |
empty() | Снимает текущее выделение. |
createRange() | Создает объект TextRange для текущего выделения. |
Рассмотрим следующее выражение:
document.onmouseup = document.selection.clear;
Если вы вставить это выражение в скрипт, то браузер будет удалять все выделения.
Другими словами, когда пользователь выделяет часть документа, браузер немедленно
удаляет его. Если выделение содержит не текстовые элементы, то они будут удалены
тоже. Соответственно, страница с новым содержимым будет перерисована. Обратите
внимание, что метод clear() описан как clear (не clear()), потому что обработчику
события должна быть присвоена ссылка на функцию (а не вызов функции). Имейте ввиду,
что этот скрипт не работает в Navigator 4.0x, так как пользуется преимуществом
объекта selection.
Метод empty() просто снимает текущее выделение. Замечательно, но бесполезно
использовать этот метод, для создания страницы, с невозможностью выделения.
document.onmouseup = document.selection.empty;
Это выражение указывает браузеру снимать любое выделение, существующее на странице.
Другими словами, оно снимает подсветку с выделения. Имейте ввиду, что метод
empty() помимо всего прокручивает рабочее окно в самый верх страницы. Поэтому,
приведенное выражение скроллирует рабочее окно к верху страницы, всегда, когда
вы отпускаете кнопку мыши.
Метод createRange() очень просто. Он возвращает объект TextRange для текущего
выделения. Вот пример:
var range = document.selection.createRange();
Работа с объектом, и его данными - это уже другая история. Мы рассмотрим это в
следующем разделе этой статьи. Просто продолжите чтение, чтобы узнать, как
использовать новый объект, и как написать функцию эквивалентную методу
document.getSelection() в Navigator 4.0x.
Назад |
Оглавление |
Далее
|