selection | NN 6 IE 4 DOM n/a | ||||
Небольшой список свойств и методов объекта выделения в некотором роде может ввести в заблуждение. Элементы, названые в этом списке,- это средства объекта selection, представленного в IE4+. В NN6 также используется объект selection, который не является частью W3C DОМ, поэтому в первых модификациях этого броузера не было предусмотрено создание подобного вида объектов. Далее рассматриваются основные способы управления объектом selection в NN6 независимо от того, когда он был впервые реализован. Но мы не будем детально рассматривать все свойства и методы этого объекта, Версия IE В броузере IЕ4+ объект selection представляет собой свойство объекта document, которое обеспечивает доступ сценария к любому тексту документа или средствам управления текстом, используемым сценарием или посетителями. Объект selection, состоящий из одного или более символов, всегда выделяется на странице; более того, только один объект selection может быть активным в текущее врсмя. Когда на странице посетителю дается указание выделить текст для выполнения определенного действия с ним, можно (и нужно) воспользоваться преимуществами, предоставляемыми объектом selection. Наиболее удобный случай применения объекта selection - с точки зрения обработки - это события onMouseUp. Это событие срабатывает после каждого отпускания кнопки мыши, при этом сценарий может анализировать объект document.selection на включение в него выделяемого текста (с помощью свойства type), С помощью метода createRange() можно преобразовать объект selection в объект TextRange. Затем для получения доступа к только что выделенному тексту области нужно воспользоваться свойством text. Такая последовательность действий может показаться достаточно сложной перед следующим шагом, однако объект selection (в броузере IE) не предоставляет возможности напрямую считывать или изменять выделенный текст. Если вы собираетесь выполнить действие с выделением, то, возможно, у вас не будет возможности сделать это сразу, щелкнув на кнопке или ссылке. В некоторых версиях броузеров и операционных систем щелчок на одном из элементов страницы автоматически приводит к отмене выделения текущего элемента или текста. Версия NN В броузере Navigator 4 с помощью метода document.getSelection() можно
просматривать выделенный текст тела страницы, однако по сути, для этого
броузера объекта selection не существует. Только в броузере NN6 сделана
попытка исправить эту ситуацию. Метод document.getSelection() позволяет
использовать броузер NN6 для косвенного получения копии выделения, подобной
представляемой в IЕ (как описано выше): сначала создается область для
выделения, а затем в эту область помещается необходимый текст. | |||||
Объектно-ориентированная модель
|
Свойства:
type | NN n/a IE 4 DOM n/a | ||
Только чтение | |||
Свойство type возвращает элемент Техt но только во время существования выделения на странице. В противном случае свойство возвращает значение none. Сценарий использует эту информацию дня определения существования выделения на странице: if (document.selection.type == "Text") { Компания Microsoft в своей документации обращает внимание на то, что это свойство иногда возвращает значение Control, однако рассмотрение этого связанного с режимом редактирования значения выходит за рамки данного справочника. | |||
Пример:
if (document.selection.type == "Text") { ... } | |||
Возвращаемое значение: 1из двух постоянных значений (как строка): none | Text. |
|||
|
Методы:
clear( ) | NN n/a IE 4 DOM n/a |
Удаляет содержание текущего выбора в документе. Для посетителя метод clear() выполняет такое же действие, как присвоение свойству TextRange.text пустой строки. Отличие между этими вышеупомянутыми способами заключается в том, что метод clear() можно использовать, не создавая текстовую область для выделения. После удаления выделения свойством selection.type возвращается значение None Например, обработчик события в следующем тэге удаляет любой выбранный текст элемента P через две секунды после выбора: <P onSelectStart="setTimeout('document.selection.clear( )',2000)"> | |
Возвращаемое значение None. | |
Параметры None. |
createRange( ) | NN n/a IE 4 DOM n/a |
Чтобы создать текстовую область для пользовательского выделения в броузере IE, следует применять метод createRange() объекта selection, Я точно не знаю, почему метод для объекта selection называется createRange(), в то время как текстовые области для других действительных объектов создаются с помощью метода createTextRange(). Результатом работы обоих методов является окончательно обработанный объект TextRange. После следующей инструкции: var myRange = document.selection.createRange( ) сценарий сможет воздействовать на содержание выбранного текста. | |
Возвращаемое значение ОбъектTextRange. |
|
Параметры None. |
empty( ) | NN n/a IE 4 DOM n/a |
Метод empty() предназначен для отмены текущего выделения в броузере IE. После процесса снятия выделения свойство selection.type возвращает значение None. Метод empty() работает так же, как и unSelect, запускаемый с помощью метода execCommand() для документа. Если выделение создается на основе объекта TextRange с помощью метода TextRange.select(), то метод empty() применяется только для видимого выделения, и не влияет на текстовую область. Метод не изменяет содержания выделенной области. | |
Возвращаемое значение None. | |
Параметры None. |
HIVE: All information for read only. Please respect copyright! |