Documentation
Selection
is
Returns: Boolean
Check if the selection is in Redactor.
var is = this.selection.is();
isCollapsed
Returns: Boolean
Check if the selection is collapsed or in other words, Redactor has a focus, and the caret is blinking, but the text is not selected.
var is = this.selection.isCollapsed();
isBackwards
Returns: Boolean
Check if the selection has started from right to left.
var is = this.selection.isBackwards();
isIn
el | Node Element Dom |
Returns: Boolean
Check if the element is in the selection.
var is = this.selection.isIn(element);
isText
Returns: Boolean
Check if the caret is in a text:
- text has not parents blocks
- text is in a table cell and has not parents blocks
var is = this.selection.isText();
isAll
el (optional) | Node Element Dom |
Returns: Boolean
Check if all content of the editor or the element is selected.
// the editor
var is = this.selection.isAll();
// the element
var is = this.selection.isAll(element);
setRange
range | Object |
Update the selection by the specified range object.
var node = document.createTextNode('My node');
var range = this.selection.getRange();
range.collapse(true);
range.insertNode(node);
range.setEndBefore(node);
this.selection.setRange(range);
setAll
el (optional) | Node Element Dom |
Select all content of the editor or the element.
// select all content of the editor
this.selection.setAll();
// select all content of the element
this.selection.setAll(element);
get
Returns: Object
Return the selection object.
var sel = this.selection.get();
getRange
Returns: Object
Return the range object.
var range = this.selection.getRange();
getPosition
Returns: Object
Boolean
Return the left and the right position (in pixels) of the selection relative to the entire document. Return false
if Redactor does not have the focus.
var pos = this.selection.getPosition();
console.log(pos.left, pos.top);
getTextBeforeCaret
num (optional) | Number |
Returns: String
Boolean
By default, this method returns the last char in the text before the caret, but if you pass a num
argument, you can get the required number of characters before the caret.
If there are no chars before the caret returns false
.
// get the last char
var text = this.selection.getTextBeforeCaret();
// get ten last chars before the caret
var text = this.selection.getTextBeforeCaret(10);
getTextAfterCaret
num (optional) | Number |
Returns: String
Boolean
By default, this method returns the first char in the text after the caret, but if you pass a num
argument, you can get the required number of characters after the caret.
If there are no chars after the caret returns false
.
// get the first char
var text = this.selection.getTextAfterCaret();
// get ten first chars after the caret
var text = this.selection.getTextAfterCaret(10);
getCurrent
Returns: Node
Boolean
Return the current element relative to the caret. Return false
if Redactor does not have the focus.
var node = this.selection.getCurrent();
getParent
Returns: Node
Boolean
Return the parent node of the current element relative to the caret. Return false
if Redactor does not have the focus.
var node = this.selection.getParent();
getElement
el (optional) | Node Element Dom |
Returns: Node
Boolean
Return the first element (not text node) relative to the caret or the specified element. Return false
if Redactor does not have the focus.
var node = this.selection.getElement();
var node = this.selection.getElement(element);
getInline
el (optional) | Node Element Dom |
Returns: Node
Boolean
Return the parent inline tag relative to the caret position or the specified element. If the inline tag has nested inline tags, returns the first level inline. Return false
if the parent inline tag is not found or Redactor does not have the focus.
var node = this.selection.getInline();
var node = this.selection.getInline(element);
getInlineFirst
el (optional) | Node Element Dom |
Returns: Node
Boolean
Return the last level inline tag relative to the caret position or the specified element. Return false
if the inline tag is not found or Redactor does not have the focus.
var node = this.selection.getInlineFirst();
var node = this.selection.getInlineFirst(element);
getInlineAll
el (optional) | Node Element Dom |
Returns: Array
Return the all parents inline tags relative to the caret position or the specified element.
var node = this.selection.getInlineAll();
var node = this.selection.getInlineAll(element);
getBlock
Returns: Node
Boolean
Return the first block tag relative to the caret or the specified element. Return false
if Redactor does not have the focus.
var node = this.selection.getBlock();
var node = this.selection.getBlock(element);
getBlocks
options | Object | |
tags | Array | an array of tags to be selected |
first | Boolean | if true , then selects only the first level of block tags (the parent of the block tag is the editor) |
Returns: Array
Return the array of the selected block tags.
var blocks = this.selection.getBlocks();
var blocks = this.selection.getBlocks({ tags: ['p', 'h1'] });
var blocks = this.selection.getBlocks({ first: true });
getInlines
options | Object | |
tags | Array | an array of tags to be selected |
all | Boolean | if true , then selects all inline tags, not only the first level |
inside | Boolean | if true , it selects tags that are only inside of the selection. |
Returns: Array
Return the array of the selected inline tags.
var inlines = this.selection.getInlines();
var inlines = this.selection.getInlines({ tags: ['strong', 'em'] });
var inlines = this.selection.getInlines({ all: true });
getInlinesAllSelected
options | Object | |
tags | Array | an array of tags to be selected |
Returns: Array
Return the array of inline tags which are selected entire only.
var inlines = this.selection.getInlinesAllSelected();
var inlines = this.selection.getInlinesAllSelected({ tags: ['a', 'span'] });
getElements
options | Object | |
tags | Array | an array of tags to be selected |
Returns: Array
Return the array of the selected elements (not text nodes).
var elements = this.selection.getElements();
var elements = this.selection.getElements({ tags: ['p', 'span'] });
getNodes
options | Object | |
tags | Array | an array of tags to be selected |
textnodes | Boolean | if false , then gets only block or inline tags (not text nodes) |
keepbr | Boolean | |
if | true , then gets BR with texnodes true |
Returns: Array
Return the array of the selected block, inline and text nodes.
var nodes = this.selection.getNodes();
var nodes = this.selection.getNodes({ tags: ['p', 'span'] });
var elements = this.selection.getNodes({ textnodes: false });
getText
Returns: String
Return the selection as a text string.
var text = this.selection.getText();
getHtml
Returns: String
Return the selection as a HTML string.
var html = this.selection.getHtml();
save
Save the current selection.
this.selection.save();
restore
Restore the current selection if it was saved before by the method selection.save
.
this.selection.restore();
clear
Clear the current selection from the editor content, elements or components.
this.selection.clear();
collapseToStart
Set the caret at the beginning of the selection and collapse it.
this.selection.collapseToStart();
collapseToEnd
Set the caret at the end of the selection and collapse it.
this.selection.collapseToEnd();