tinymce.dom.Selection
This class handles text and control selection it’s an crossbrowser utility class. Consult the TinyMCE API Documentation for more details and examples on how to use this class.
Examples
// Getting the currently selected node for the active editor
alert(tinymce.activeEditor.selection.getNode().nodeName);
Summary
Methods
Name | Summary | Defined by |
---|---|---|
Collapse the selection to start or end of range. |
||
Returns a bookmark location for the current selection. This bookmark object can then be used to restore the selection after some content modification to the document. |
||
Returns the selected contents using the DOM serializer passed in to this class. |
||
Returns the end element of a selection range. If the end is in a text node the parent element will be returned. |
||
Returns the currently selected element or the common ancestor element for both start and end of the selection. |
||
Returns the browsers internal range object. |
||
Returns the browsers internal selection object. |
||
Returns the start element of a selection range. If the start is in a text node the parent element will be returned. |
||
Returns true/false if the selection range is collapsed or not. Collapsed means if it’s a caret or a larger selection. |
||
Restores the selection to the specified bookmark. |
||
Selects the specified element. This will place the start and end of the selection range around the element. |
||
Executes callback when the current selection starts/stops matching the specified selector. The current state will be passed to the callback as it’s first argument. |
||
Sets the current selection to the specified content. If any contents is selected it will be replaced with the contents passed in to this function. If there is no selection the contents will be inserted where the caret is placed in the editor/page. |
||
Move the selection cursor range to the specified node and offset. If there is no node specified it will move it to the first suitable location within the body. |
||
Sets the current selection to the specified DOM element. |
||
Changes the selection to the specified DOM range. |
Constructors
Selection
public constructor function Selection(dom: tinymce.dom.DOMUtils, win: Window, serializer: tinymce.dom.Serializer, editor: tinymce.Editor)
Constructs a new selection instance.
Parameters
-
dom (DOMUtils)
- DOMUtils object reference. -
win (Window)
- Window to bind the selection object to. -
serializer (Serializer)
- DOM serialization class to use for getContent. -
editor (Editor)
- Editor instance of the selection.
Methods
getBookmark()
getBookmark(type: Number, normalized: Boolean): Object
Returns a bookmark location for the current selection. This bookmark object can then be used to restore the selection after some content modification to the document.
Examples
// Stores a bookmark of the current selection
var bm = tinymce.activeEditor.selection.getBookmark();
tinymce.activeEditor.setContent(tinymce.activeEditor.getContent() + 'Some new content');
// Restore the selection bookmark
tinymce.activeEditor.selection.moveToBookmark(bm);
getContent()
getContent(args: Object): String
Returns the selected contents using the DOM serializer passed in to this class.
getEnd()
getEnd(real: Boolean): Element
Returns the end element of a selection range. If the end is in a text node the parent element will be returned.
getNode()
getNode(): Element
Returns the currently selected element or the common ancestor element for both start and end of the selection.
getStart()
getStart(real: Boolean): Element
Returns the start element of a selection range. If the start is in a text node the parent element will be returned.
isCollapsed()
isCollapsed(): Boolean
Returns true/false if the selection range is collapsed or not. Collapsed means if it’s a caret or a larger selection.
moveToBookmark()
moveToBookmark(bookmark: Object)
Restores the selection to the specified bookmark.
select()
select(node: Element, content: Boolean): Element
Selects the specified element. This will place the start and end of the selection range around the element.
Examples
// Select the first paragraph in the active editor
tinymce.activeEditor.selection.select(tinymce.activeEditor.dom.select('p')[0]);
selectorChanged()
selectorChanged(selector: String, callback: function)
Executes callback when the current selection starts/stops matching the specified selector. The current state will be passed to the callback as it’s first argument.
setContent()
setContent(content: String, args: Object)
Sets the current selection to the specified content. If any contents is selected it will be replaced with the contents passed in to this function. If there is no selection the contents will be inserted where the caret is placed in the editor/page.
setCursorLocation()
setCursorLocation(node: Node, offset: Number)
Move the selection cursor range to the specified node and offset. If there is no node specified it will move it to the first suitable location within the body.