nsISelection

Interface for manipulating and querying the current selected range
of nodes within the document.

@version 1.0

Methods

collapsed()

getRangeAt(index)

Returns the range at the specified index.

collapse(parentNode, offset)

Collapses the selection to a single point, at the specified offset
in the given DOM node. When the selection is collapsed, and the content
is focused and editable, the caret will blink there.

Parameters

parentNode The given dom node where the selection will be set
offset Where in given dom node to place the selection (the offset into the given node)

collapseNative(parentNode, offset)

extend(parentNode, offset)

Extends the selection by moving the selection end to the specified node and offset,
preserving the selection begin position. The new selection end result will always
be from the anchorNode to the new focusNode, regardless of direction.

Parameters

parentNode The node where the selection will be extended to
offset Where in node to place the offset in the new selection end

extendNative(parentNode, offset)

collapseToStart()

Collapses the whole selection to a single point at the start
of the current selection (irrespective of direction). If content
is focused and editable, the caret will blink there.

collapseToEnd()

Collapses the whole selection to a single point at the end
of the current selection (irrespective of direction). If content
is focused and editable, the caret will blink there.

containsNode(node, partlyContained)

Indicates whether the node is part of the selection. If partlyContained
is set to PR_TRUE, the function returns true when some part of the node
is part of the selection. If partlyContained is set to PR_FALSE, the
function only returns true when the entire node is part of the selection.

selectAllChildren(parentNode)

Adds all children of the specified node to the selection.

Parameters

parentNode the parent of the children to be added to the selection.

addRange(range)

Adds a range to the current selection.

removeRange(range)

Removes a range from the current selection.

removeAllRanges()

Removes all ranges from the current selection.

deleteFromDocument()

Deletes this selection from document the nodes belong to.

toString()

Returns the whole selection into a plain text string.

modify(alter, direction, granularity)

Modifies the selection. Note that the parameters are case-insensitive.

Parameters

alter can be one of { "move", "extend" } - "move" collapses the selection to the end of the selection and applies the movement direction/granularity to the collapsed selection. - "extend" leaves the start of the selection unchanged, and applies movement direction/granularity to the end of the selection.
direction can be one of { "forward", "backward", "left", "right" }
granularity can be one of { "character", "word", "line", "lineboundary" }

Returns

NS_ERROR_NOT_IMPLEMENTED if the granularity is "sentence", "sentenceboundary", "paragraph", "paragraphboundary", or "documentboundary". Returns NS_ERROR_INVALID_ARG if alter, direction, or granularity has an unrecognized value.

Attributes

anchorNode

Returns the node in which the selection begins.

anchorOffset

The offset within the (text) node where the selection begins.

focusNode

Returns the node in which the selection ends.

focusOffset

The offset within the (text) node where the selection ends.

isCollapsed

Indicates if the selection is collapsed or not.

rangeCount

Returns the number of ranges in the selection.