Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Свойства и методы объекта TextRange

В этом разделе статьи мы рассмотрим свойства и методы объекта TextRange. Они предоставляют возможность изменения текста и элементов страницы. Для демонстраций мы будем использовать пример из предыдущего раздела. Напомним его:

<HTML>
<HEAD>
<TITLE>Sample Page</TITLE>
</HEAD>
<BODY>
<H1>This is a sample page.</H1>
<P>This is some sample text.</P>
</BODY>
</HTML>

Мы будем ссылаться на объект TextRange, отображающий содержимое документа - который будет возвращен следующим методом.

var range = document.body.createTextRange

Вот сокращенный список свойств объекта TextRange


Свойство
Описание
htmlTextВозвращает HTML фрагмент для выделенной текстовой области. Свойство доступно только для чтения.
<H1>This is a sample page.</H1>
<P>This is some sample text.</P>
text Задает или возвращает текст содержащийся в диапазоне (range). Это свойства доступно как для чтения, так и для записи, это означает, что вы можете изменять текущее значение, также как получать его.
boundingWidth Возвращает ширину прямоугольника, который ограничивает текстовую область.
305
boundingHeight Возвращает высоту прямоугольника, который ограничивает текстовую область
74
boundingLeft Возвращает левую координату прямоугольника, который ограничивает текстовую область.
12
boundingTop Возвращает верхнюю координату прямоугольника, который ограничивает текстовую область.
17
offsetLeft

Возвращает левую координату прямоугольника, который ограничивает текстовую область.

12				

Это свойство - не тоже самое, что и boundingLeft. Например, если вы поместите участок кода в следующее определение:

<DIV STYLE="position: absolute; left: 200">...</DIV> 

то свойство будет равно 212.

offsetTop

Возвращает верхнюю координату прямоугольника, который ограничивает текстовую область.

17

Это свойство - не тоже самое, что и boundingTop. Например, если вы поместите участок кода в следующее определение:

<DIV STYLE="position: absolute; top: 200">...</DIV> 

то свойство будет равно 217.

Помимо того, объект TextRange имеет много методов. Вот - список наиболее полезных из них:


Метод
Описание
collapse([start])Перемещает точки вставки к началу (по умолчанию) или концу текущей текстовой области (если аргумент задан как false)
expand(unit)

Расширяет область таким образом, чтобы частичные элементы стали содержаться целиком. Метод возвращает true, если расширение прошло успешно, и false иначе. Unit может принимать одно из следующих строковых значений.

"character"

Расширяет символ.

"word"

Расширяет слово. Слово - это группа символов, ограниченных пробелом или разделительным символом.

"sentence"

Расширяет предложение. Предложение - это совокупность слов, ограниченных символом пунктуации, таким как точка.

"textedit"

Расширяет до целого объекта. Другими словами, область до ее оригинальных размеров.

Этот пример скрипта создает объект TextRange для текущего выделения, и гарантирует то, что любое, частично выделенное слово будет целиком помещено в объект.

var range = document.selection.createRange();
range.expand("word");
duplicate()

Возвращает копию родительской текстовой области (метод которой вызывается)

parentElement()

Возвращает родительский элемент для текстовой области. Родительский элемент - это минимальный элемент, заключающий в себя текстовую область.

inRange(otherRange)

Возвращает логическое значение, указывающее что хотя бы одна область (аргумент) содержится в другой (объект)

isEqual(otherRange)

Возвращает логическое значение, указывающее что хотя бы одна область (аргумент) равна другой (объект)

scrollIntoView ([start])

Заставляет объект прокручиваться к видимой части окна, выравнивая по его верхней или нижней части. Если start содержит значение false, то нижняя часть объекта будет видна в нижней части окна. Иначе, по умолчанию, объект прокрутится к верхней части окна.

setEndPoint (type, range)

Согласовывает конечную точку (endpoint) одной области с конечной точкой (endpoint) другой. Строковой аргумент type задает, какая конечная точка (endpoint) будет перемещена, и какая конечная точка родительской области должна ее заменить. Она поддерживает любой из следующих значений: "StartToEnd", "StartToStart", "EndToStart", или "EndToEnd". Второй аргумент, range - область их которой берется исходная конечная точка (endpoint).

compareEndPoints (type, range)

Определяет, есть ли у родительской области (метод которой вызывается) и у области заданной в качестве аргумента (range) общие конечный точки (endpoint). Этот метод возвращает -1 (если меньше), 0 (если равны), 1 если больше. Аргумент type должен быть одним из: StartToEnd", "StartToStart", "EndToStart", или "EndToEnd". Как вы видите, он описывает сравнение конечных точек (endpoint). Обратите внимание на то, что термин "конечная точка" (endpoint) не обязательно указывает на последнюю позицию в текстовой области. Это может быть либо первая, либо последняя, в зависимости от того, какое значение имеет аргумент type.

select()

Делает выделение на странице, эквивалентное текстовой области

В предшествующей таблице приведен список самых важных основных методов объекта TextRange. А в следующей таблице приведен список методов перемещения. После выделения текстовой области вы можете перемещать ее стартовую и конечную точку, с помощью этих методов. Заметьте, что они не перемещают текст на странице. Они просто перемещают границы диапазона, тем самым влияя на выделенную текстовую область.

Вот перечисление этих методов:


Метод
Описание
move (unit [, count])

Изменяет стартовую или конечную точку текстовой области, для для перекрытия некоторого текста. Это метод перемещает текстовую область, не сам текст. Следующий аргумент может содержать одну из следующих строк:

"character" 

Перемещает один или более символов.

"word"

Перемещает одно или более слов. Слово - это группа символов, ограниченных пробелом или разделительным символом.

"sentence"

Перемещает одно или более предложений. предложение - это совокупность слов, ограниченных символом пунктуации, таким как точка.

"textedit"

Перемещает к началу и конку оригинальной текстовой области.

Второй аргумент, count - задает количество элементов для перемещения (положительное, или отрицательное). По умолчанию это 1. Метод возвращает реальное число перемещенных элементов.

moveStart (unit [, count])

Тоже самое, что и move(), только перемещает только стартовую точку. Он изменяет диапазон области перемещая ее стартовую точку.

moveEnd (unit [, count])

Тоже самое, что и move(), только перемещает только конечную точку. Он изменяет диапазон области перемещая ее конечную точку.

pasteHTML (htmlText)

Вставляет указанный HTML текст, в данную область. Текст целиком заменяет предыдущий текст и HTML элементы, находящиеся в области. Метод не может быть использован, пока документ загружается. Кроме того, обратите внимание на то, чтобы вставляемый текст и HTML элементы были пригодны для заданной области. Например, попытка вставить ячейку таблицы в текстовую область, не содержащей таблицы, может заставить метод вставить элемент TABLE.

Помните, что текстовые области не поддерживаются в Макинтошовских версиях Inernet Explorer 4.0x. Эти методы и свойства актуальны только в Win32 версиях Internet Explorer 4.0x. На этой странице рассмотрены только основы текстовых областей, так как статья о выделениях, а не о текстовых областях. В следующем разделе этой статьи мы рассмотрим меж-браузерную работы с выделениями.

Назад | Оглавление | Далее

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
Аноним
Мне нравитсяМне не нравится
30 июня 2005, 13:36:29
Да, это оччень неплохая информация!
2.
Аноним
Мне нравитсяМне не нравится
22 ноября 2004, 17:19:08
Ура нашел!
Я искал это уже давно, наконец-то!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог