CKEDITOR获取当前光标位置之前和之后的文本

时间:2018-10-27 08:27:43

标签: javascript ckeditor

嗨,我想在当前光标位置之前和之后显示编辑器的文本。  我完成了一半,但是在换行时遇到了问题。有人可以帮助我吗?

M3JSEditor.getSplittedTextFromCursor = function(editor) {
var range = editor.getSelection().getRanges()[ 0 ], startNode = range.startContainer;

if ( startNode.type == CKEDITOR.NODE_TEXT && range.startOffset )
    // Range at the non-zero position of a text node.
    return [startNode.getText().substr(0, range.startOffset), startNode.getText().substr(range.startOffset, startNode.getText().length)]; //range.endOffset
else {
    // Expand the range to the beginning of editable.
    range.collapse( true );
    range.setStartAt( editor.editable(), CKEDITOR.POSITION_AFTER_START );

    // Let's use the walker to find the closes (previous) text node.
    var walker = new CKEDITOR.dom.walker( range ),
    node;

    while ( ( node = walker.previous() ) ) {
        // If found, return the last character of the text node.
        if ( node.type == CKEDITOR.NODE_TEXT )
            return [node.getText(), '']; //((node.getText().slice( -1 )
    }
}

// Selection starts at the 0 index of the text node and/or there's no previous text node in contents.
return ['', ''];

}

0 个答案:

没有答案