Given a range, expand the range to include outer tags if the full contents of
those tags are entirely selected. This essentially changes the dom position,
but not the visible position of the range.
Ex.
Arguments:
Returns: !goog.dom.AbstractRange
The expanded range.
|
code » | ||||
![]()
Given a range, expands the start or end points as far out towards the
range's common container (or stopNode, if provided) as possible, while
perserving the same visible position.
Arguments:
Returns: !goog.dom.AbstractRange
The expanded range.
|
code » | ||||
Get the deepest point in the DOM that's equivalent to the endpoint of the
given range.
Arguments:
Returns: !goog.editor.range.Point
The end point, expressed as a node
and an offset.
|
code » | ||||
Returns whether the given range intersects with any instance of the given
tag.
Arguments:
Returns: boolean
Whether the given range intersects with any instance of
the given tag.
|
code » | ||||
Checks if a range is completely inside an editable region.
Arguments:
Returns: boolean
Whether the range is completely inside an editable region.
|
code » | ||||
Given a range and an element, create a narrower range that is limited to the
boundaries of the element. If the range starts (or ends) outside the
element, the narrowed range's start point (or end point) will be the
leftmost (or rightmost) leaf of the element.
Arguments:
Returns: goog.dom.AbstractRange
A new narrowed range, or null if the
element does not contain any part of the given range.
|
code » | ||||
![]()
Given a range in the current DOM, create a factory for a range that
represents the same selection in a normalized DOM. The factory function
should be invoked after the DOM is normalized.
All browsers do a bad job preserving ranges across DOM normalization.
The issue is best described in this 5-year-old bug report:
https://bugzilla.mozilla.org/show_bug.cgi?id=191864
For most applications, this isn't a problem. The browsers do a good job
handling un-normalized text, so there's usually no reason to normalize.
The exception to this rule is the rich text editing commands
execCommand and queryCommandValue, which will fail often if there are
un-normalized text nodes.
The factory function creates new ranges so that we can normalize the DOM
without problems. It must be created before any normalization happens,
and invoked after normalization happens.
Arguments:
Returns: function(): goog.dom.AbstractRange
A factory for a normalized
range. Should be called after body.normalize() is called.
|
code » | ||||
![]()
Normalizes the given node.
Arguments:
|
code » | ||||
![]()
Manually normalizes the node in IE, since native normalize in IE causes
transient problems.
Arguments:
|
code » | ||||
Given a point in the current DOM, adjust it to represent the same point in
a normalized DOM.
See the comments on goog.editor.range.normalize for more context.
Arguments:
Returns: !goog.editor.range.Point
The same point, for easy chaining.
|
code » | ||||
Position the cursor immediately to the left or right of "node".
In Firefox, the selection parent is outside of "node", so the cursor can
effectively be moved to the end of a link node, without being considered
inside of it.
Note: This does not always work in WebKit. In particular, if you try to
place a cursor to the right of a link, typing still puts you in the link.
Bug: http://bugs.webkit.org/show_bug.cgi?id=17697
Arguments:
Returns: !goog.dom.AbstractRange
The newly selected range.
|
code » | ||||
Normalizes the node, preserving a range of the document.
May also normalize things outside the node, if it is more efficient to do so.
Arguments:
Returns: ?goog.dom.AbstractRange
The range, adjusted for normalization.
|
code » | ||||
Saves the range by inserting carets into the HTML.
Unlike the regular saveUsingCarets, this SavedRange normalizes text nodes.
Browsers have other bugs where they don't handle split text nodes in
contentEditable regions right.
Arguments:
Returns: !goog.dom.SavedCaretRange
A saved caret range that normalizes
text nodes.
|
code » | ||||
![]()
Cause the window's selection to be the start of this node.
Arguments:
|
code » | ||||
![]()
Normalizes the node, preserving the selection of the document.
May also normalize things outside the node, if it is more efficient to do so.
Arguments:
|
code » |